flakytest.dev anze3db flakytest
Profiles / #11

Passed Run of Oct 26, 23:42

CI github-actions:test · 46ec2aa main dirty · pass/fail report
short_tests 9 tests finished faster than one sample (1ms), so they have timings but no breakdown. That's expected for tests this fast.
Wall time
19.49 s
1 worker
Test time
15.70 s
sum of test durations
Tests
253
253 passed
Profiler
tachyon
1000 Hz · 13,691 samples · Python 3.15.1 · flakytest 2026.0b1
Peak memory
183 MB
test process

Where the time goes

Test time by category
  • Database7.20 s
  • Libraries2.89 s
  • DB schema1.78 s
  • Password hashing1.24 s
  • Migrations988 ms
  • Templates697 ms
  • Imports328 ms
  • App code174 ms
  • Serialization138 ms
  • Unsampled109 ms
  • pytest77 ms
  • Deep copies31 ms
  • Factories20 ms
  • Test code19 ms
  • Waiting9 ms
  • Cache3 ms
  • Logging3 ms
  • Mocking0.94 ms

Session timeline

Tests
14.89 s
Startup
3.31 s
Collection
185 ms
Between tests
562 ms
Session teardown
439 ms
Test phases
Setup 3.44 s Call 12.16 s Teardown 106 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 6.7s.

High App code
6.72 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:

  • apps/api/tests.py:487 ProfileUploadTest.upload · 363 ms
  • apps/mcp/tests.py:67 McpTest.post · 276 ms
  • apps/projects/urls.py:498 project_profile · 271 ms
  • ft/tests.py:204 TestAccountSettings.test_change_password · 261 ms
  • apps/guides/content.py:112 render · 240 ms
  • apps/orgs/tests.py:28 SignupTest.test_signing_up_creates_an_organization · 185 ms
  • ft/tests.py:160 TestAccountPages.test_signup · 153 ms
  • apps/orgs/tests.py:92 MembersTest.test_owner_invites_someone_who_signs_up · 153 ms
  • apps/projects/tests.py:425 TestProjectTestPage.test_other_peoples_project · 146 ms
  • ft/tests.py:199 TestAccountSettings.test_change_password · 130 ms

Most affected tests:

  • ft/tests.py::TestAccountSettings::test_change_password
  • apps/api/tests.py::ProfileUploadTest::test_missing_parts_mark_the_profile_incomplete
  • apps/projects/tests.py::ProfilePagePaginationTest::test_slowest_tests_first_then_the_next_page
  • apps/orgs/tests.py::SignupTest::test_signing_up_creates_an_organization
  • apps/orgs/tests.py::MembersTest::test_owner_invites_someone_who_signs_up
  • apps/api/tests.py::TestApiIndex::test_index
  • ft/tests.py::TestAccountPages::test_signup
  • apps/projects/tests.py::ProjectPagesTest::test_dashboard_filters
2

Disable django-debug-toolbar in tests

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

High App code
4.41 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:

  • apps/projects/urls.py:498 project_profile · 271 ms
  • ft/tests.py:204 TestAccountSettings.test_change_password · 261 ms
  • apps/guides/content.py:112 render · 240 ms
  • apps/orgs/tests.py:28 SignupTest.test_signing_up_creates_an_organization · 184 ms
  • ft/tests.py:160 TestAccountPages.test_signup · 153 ms
  • ft/tests.py:199 TestAccountSettings.test_change_password · 130 ms
  • ft/urls.py:151 <module> · 130 ms
  • apps/orgs/views.py:33 org_shell · 106 ms
  • apps/orgs/models.py:65 Organization.is_owner · 100 ms
  • apps/api/urls.py:72 api_request.<locals>.decorator.<locals>.wrapped_view · 96 ms

Most affected tests:

  • ft/tests.py::TestAccountSettings::test_change_password
  • apps/api/tests.py::ProfileUploadTest::test_missing_parts_mark_the_profile_incomplete
  • apps/projects/tests.py::ProfilePagePaginationTest::test_slowest_tests_first_then_the_next_page
  • apps/orgs/tests.py::SignupTest::test_signing_up_creates_an_organization
  • apps/api/tests.py::TestApiIndex::test_index
  • ft/tests.py::TestAccountPages::test_signup
  • apps/projects/tests.py::ProjectPagesTest::test_dashboard_filters
  • apps/api/tests.py::ProfileUploadTest::test_upload_adds_migrations_per_worker_insight

Documentation

3

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

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

High Database
2.56 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.

  • 180x in test_seed_demo: SELECT "projects_test"."id", "projects_test"."name", "projects_test"."project_id", "projects_test"."slug", "projects_test"."date_last_run", "projects_test"."date_first_seen", "projects_test"."first_commit_id", "projects_test"."muted" FROM "projects_test" WHERE ("projects_test"."name" = %s AND "proj…
  • 22x in test_dashboard_filters: SELECT "projects_environment"."id", "projects_environment"."project_id", "projects_environment"."name", "projects_environment"."kind", "projects_environment"."provider", "projects_environment"."details", "projects_environment"."date_first_seen", "projects_environment"."date_last_seen" FROM "project…
  • 21x in test_configure_page: SELECT "projects_profile"."id", "projects_profile"."project_id", "projects_profile"."number", "projects_profile"."environment_id", "projects_profile"."session_id", "projects_profile"."run_id", "projects_profile"."commit_id", "projects_profile"."ingest_id", "projects_profile"."external_id", "project…
  • 20x in test_index: SELECT "django_content_type"."model" AS "model" FROM "django_content_type" WHERE "django_content_type"."app_label" = %s
  • 20x in test_daily_stats_count_a_profile_once_every_part_is_in: SELECT "projects_profilepart"."id", "projects_profilepart"."profile_id", "projects_profilepart"."index", "projects_profilepart"."count", "projects_profilepart"."checksum", "projects_profilepart"."status", "projects_profilepart"."error", "projects_profilepart"."tests_count", "projects_profilepart"."…

Most affected tests:

  • apps/projects/tests.py::SeedDemoCommandTest::test_seed_demo
  • apps/projects/tests.py::ProjectPagesTest::test_dashboard_filters
  • apps/projects/tests.py::ProjectPagesTest::test_configure_page
  • apps/api/tests.py::TestApiIndex::test_index
  • apps/api/tests.py::ProfileUploadTest::test_daily_stats_count_a_profile_once_every_part_is_in
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types
  • apps/api/tests.py::IngestStartEndpointTest::test_details_are_kept_for_failures_only
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_end_after_progress

Documentation

4

Make the test database server skip durability work

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

High Database
2.00 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:

  • apps/projects/models.py:466 Profile.save · 197 ms
  • apps/projects/profiles.py:334 write_snapshots · 150 ms
  • apps/projects/tests.py:954 ProjectPagesTest.setUp · 143 ms
  • apps/api/tests.py:76 IngestStartEndpointTest.join_workers · 108 ms
  • apps/projects/models.py:35 next_number · 107 ms
  • apps/projects/profiles.py:379 claim_part · 104 ms
  • apps/projects/environments.py:63 get_or_create_environment · 103 ms
  • apps/projects/models.py:230 TestManager.upsert · 102 ms
  • apps/orgs/views.py:33 org_shell · 101 ms
  • apps/projects/rollups.py:88 add_perfs · 100 ms

Most affected tests:

  • apps/api/tests.py::TestApiIndex::test_index
  • apps/projects/tests.py::SeedDemoCommandTest::test_seed_demo
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_progress_before_start
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_end_after_progress
  • apps/api/tests.py::IngestStartEndpointTest::test_results_are_counted_and_the_payload_dropped
  • apps/projects/tests.py::ProjectPagesTest::test_configure_page
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_progress_end

Documentation

5

pytest takes a long time before the first test runs

Startup takes 3.3s and collection 185ms on every run, even when you only run one test.

Medium Imports
1.40 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
  • .venv/bin/pytest (185ms)
  • .venv/bin/pytest (3.3s)

Documentation

6

Use a fast password hasher in tests

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

Medium Password hashing
1.17 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:

  • ft/tests.py:204 TestAccountSettings.test_change_password · 258 ms
  • ft/tests.py:160 TestAccountPages.test_signup · 150 ms
  • ft/tests.py:231 TestAccountSettings.test_projects_only_lists_your_own_even_for_superusers · 148 ms
  • apps/orgs/tests.py:194 SuperuserTest.test_superusers_can_open_any_project_but_dont_list_them · 144 ms
  • apps/orgs/tests.py:28 SignupTest.test_signing_up_creates_an_organization · 143 ms
  • ft/tests.py:176 TestAccountSettings.setUpTestData · 131 ms
  • ft/tests.py:214 TestAccountSettings.test_change_password · 129 ms
  • ft/tests.py:199 TestAccountSettings.test_change_password · 128 ms
  • ft/tests.py:47 TestProjectsHome.test_user_logged_in_with_multiple_projects · 2 ms
  • apps/orgs/tests.py:52 OrganizationTestCase.setUpTestData · 1 ms

Most affected tests:

  • ft/tests.py::TestAccountSettings::test_change_password
  • ft/tests.py::TestAccountPages::test_signup
  • ft/tests.py::TestAccountSettings::test_projects_only_lists_your_own_even_for_superusers
  • apps/orgs/tests.py::SuperuserTest::test_superusers_can_open_any_project_but_dont_list_them
  • apps/orgs/tests.py::SignupTest::test_signing_up_creates_an_organization
  • ft/tests.py::TestProjectsHome::test_user_logged_in_with_multiple_projects
  • apps/orgs/tests.py::AccessTest::test_members_see_every_project_of_the_organization
  • apps/projects/tests.py::ProjectCreatePage::test_first_project_is_onboarding

Documentation

7

Use TestCase instead of TransactionTestCase

759ms goes to flushing every table after tests in 11 TransactionTestCase / transaction=True / live_server tests.

Medium DB schema
684 ms per run
Fix: Use django.test.TestCase (or @pytest.mark.django_db without transaction=True): it wraps each test in a transaction and rolls back instead of truncating every table. Keep TransactionTestCase only for tests that need real commits (on_commit hooks can use TestCase.captureOnCommitCallbacks). Read the guide
Details

Tests that rely on commit behaviour, multiple connections or a live server still need a transactional test case.

Most affected tests:

  • apps/api/tests.py::ProfileUploadQueueTest::test_upload_is_processed_by_the_worker
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_progress_end
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_multiple_sessions
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_progress_before_start
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_with_git
  • apps/api/tests.py::IngestStartEndpointTest::test_details_are_kept_for_failures_only
  • apps/api/tests.py::ProfileUploadLockTest::test_upload_while_a_part_is_being_processed
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types

Documentation

8

Tests open new database connections over and over

Connecting to the database takes 631ms.

Medium Database
505 ms per run
Fix: Reuse connections: create the engine once per session (not per test) and keep the default pool (NullPool reconnects on every checkout); in Django avoid closing connections in tests (connection.close()/close_old_connections). Read the guide
Details

Where:

  • apps/api/tests.py:76 IngestStartEndpointTest.join_workers · 91 ms
  • apps/api/tests.py:73 IngestStartEndpointTest.setUp · 63 ms
  • apps/api/tasks.py:266 warm_reports · 37 ms
  • apps/api/urls.py:72 api_request.<locals>.decorator.<locals>.wrapped_view · 33 ms
  • apps/api/tests.py:306 IngestStartEndpointTest.test_details_are_kept_for_failures_only · 8 ms
  • apps/api/tests.py:212 IngestStartEndpointTest.test_ingest_start_progress_end · 7 ms
  • apps/api/tests.py:928 ProfileUploadLockTest.setUp · 7 ms
  • apps/api/tests.py:235 IngestStartEndpointTest.test_ingest_progress_before_start · 7 ms
  • apps/api/tasks.py:237 process_profile · 6 ms
  • apps/api/tests.py:975 ProfileUploadQueueTest.setUp · 6 ms

Most affected tests:

  • apps/api/tests.py::IngestStartEndpointTest::test_results_are_counted_and_the_payload_dropped
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_progress_before_start
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_progress_end
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_end_after_progress
  • apps/api/tests.py::ProfileUploadQueueTest::test_upload_is_processed_by_the_worker
  • apps/api/tests.py::IngestStartEndpointTest::test_details_are_kept_for_failures_only
  • apps/projects/tests.py::ProfilePagePaginationTest::test_slowest_tests_first_then_the_next_page
9

Create shared test data in setUpTestData instead of setUp

setUp() runs before every test and takes 568ms in total (db 531ms, library 33ms, factories 4ms) in 14 classes: SettingsTest (3 tests), ProjectsPageTest (5 tests), ProjectEditPage (6 tests), ProjectDeletePage (4 tests).

Low Database
398 ms 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:

  • apps/projects/tests.py:954 ProjectPagesTest.setUp · 153 ms
  • apps/api/tests.py:73 IngestStartEndpointTest.setUp · 98 ms
  • apps/projects/tests.py:143 ProjectEditPage.setUp · 38 ms
  • apps/projects/tests.py:1413 MemoryTest.setUp · 37 ms
  • ft/tests.py:180 TestAccountSettings.setUp · 36 ms
  • apps/projects/tests.py:101 ProjectsPageTest.setUp · 32 ms
  • apps/projects/tests.py:413 TestProjectTestPage.setUp · 27 ms
  • apps/projects/tests.py:338 ProjectTestsPage.setUp · 24 ms
  • apps/projects/tests.py:269 ProjectRunsPage.setUp · 23 ms
  • apps/projects/tests.py:188 ProjectDeletePage.setUp · 23 ms

Most affected tests:

  • apps/api/tests.py::IngestStartEndpointTest::test_results_are_counted_and_the_payload_dropped
  • apps/projects/tests.py::ProjectTestsPage::test_project_with_no_tests
  • apps/projects/tests.py::ProjectEditPage::test_slug_unique_in_organization
  • apps/projects/tests.py::ProjectsPageTest::test_other_peoples_project
  • ft/tests.py::TestAccountSettings::test_set_password_for_github_users
  • apps/projects/tests.py::ProjectDeletePage::test_not_logged_in
  • apps/projects/tests.py::ProjectPagesTest::test_test_page_without_profiles
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types

Documentation

Tests

201–253 of 253, slowest first · click a column to sort this page
Test Outcome Duration Setup Call Teardown Mostly Queries
apps/mcp/tests.py::McpTest::test_initialized_notification
passed 17 ms 0.36 ms 16 ms 0.09 ms Libraries 7
apps/guides/tests.py::TestForAgentsAndCrawlers::test_llms_txt
passed 17 ms 0.38 ms 16 ms 0.08 ms Libraries 5
apps/api/tests.py::ProfileUploadTest::test_get_not_allowed
passed 16 ms 0.35 ms 15 ms 0.08 ms Libraries 5
apps/guides/tests.py::TestGuidePages::test_old_mute_page_redirects
passed 15 ms 0.38 ms 15 ms 0.08 ms Libraries 5
apps/projects/tests.py::AnalyticsTest::test_single_test
passed 14 ms 0.37 ms 14 ms 0.08 ms Database 16
9 repeated
apps/guides/tests.py::TestContent::test_links_to_the_site_resolve
passed 14 ms 0.37 ms 13 ms 0.10 ms pytest 5
apps/projects/tests.py::AnalyticsTest::test_overview
passed 13 ms 0.37 ms 12 ms 0.08 ms Database 17
apps/orgs/tests.py::SignupTest::test_github_login_names_it
passed 12 ms 6 ms 6 ms 0.08 ms Database 11
apps/projects/tests.py::MemoryTest::test_stored_and_summed_per_day
passed 12 ms 0.49 ms 9 ms 2 ms Database 23
apps/orgs/tests.py::SlugTest::test_unique_and_not_reserved
passed 11 ms 6 ms 4 ms 0.28 ms Database 11
5 repeated
apps/guides/tests.py::TestContent::test_an_insight_has_one_guide
passed 11 ms 8 ms 3 ms 0.09 ms Database 5
apps/projects/tests.py::SlugsAndNumbersTest::test_runs_and_profiles_are_numbered_per_project
passed 11 ms 0.38 ms 10 ms 0.09 ms Database 23
6 repeated
apps/projects/tests.py::RealProfileDocumentTest::test_processed
passed 9 ms 0.38 ms 8 ms 0.47 ms Database 13
3 repeated
apps/projects/tests.py::ClassifyStreaksTest::test_dirty_runs_are_not_the_same_commit
passed 9 ms 8 ms 0.99 ms 0.07 ms Database 5
apps/projects/tests.py::AnalyticsTest::test_ci_vs_local
passed 9 ms 0.39 ms 8 ms 0.08 ms Database 13
apps/projects/tests.py::MemoryTest::test_memory_tests_are_ranked_by_average_peak
passed 8 ms 0.32 ms 8 ms 0.08 ms Database 22
apps/projects/tests.py::FlakyReportTest::test_report_by_environment_kind
passed 8 ms 0.38 ms 8 ms 0.08 ms Database 14
apps/projects/tests.py::SlugsAndNumbersTest::test_upsert_keeps_slugs_and_makes_them_unique
passed 8 ms 0.32 ms 7 ms 0.30 ms Database 16
6 repeated
apps/api/tests.py::ProfileUploadTest::test_processing_failure_is_recorded
passed 8 ms 0.40 ms 7 ms 0.08 ms Database 15
3 repeated
apps/projects/tests.py::FlakyReportTest::test_window
passed 7 ms 0.37 ms 7 ms 0.31 ms Database 13
apps/projects/tests.py::StorageTest::test_slow_tests_come_from_daily_stats
passed 7 ms 0.38 ms 7 ms 0.10 ms Database 11
apps/projects/tests.py::AnalyticsTest::test_compare_environments
passed 7 ms 0.32 ms 7 ms 0.08 ms Database 11
apps/projects/tests.py::FlakyReportTest::test_single_test
passed 7 ms 0.37 ms 6 ms 0.08 ms Database 11
apps/projects/tests.py::AnalyticsTest::test_slow_tests
passed 6 ms 0.37 ms 6 ms 0.09 ms Database 10
apps/guides/tests.py::TestContent::test_front_matter
passed 6 ms 0.36 ms 6 ms 0.09 ms pytest 5
apps/projects/tests.py::StorageTest::test_snapshot_renders_like_the_whole_document
passed 6 ms 0.37 ms 5 ms 0.37 ms Database 9
apps/projects/tests.py::AnalyticsTest::test_resolve_scope
passed 5 ms 0.37 ms 5 ms 0.08 ms Database 11
6 repeated
apps/projects/tests.py::AnalyticsTest::test_fix_next
passed 5 ms 0.38 ms 5 ms 0.09 ms Database 8
apps/projects/tests.py::RealProfileDocumentTest::test_entry_details
passed 4 ms 0.31 ms 4 ms 0.16 ms Database 5
apps/projects/tests.py::AnalyticsTest::test_environment_rows
passed 4 ms 0.36 ms 4 ms 0.08 ms Database 8
apps/projects/tests.py::AnalyticsTest::test_ci_vs_local_needs_both
passed 4 ms 0.37 ms 3 ms 0.08 ms Database 9
apps/projects/tests.py::StorageTest::test_daily_stats_sum_the_days_results
passed 4 ms 0.37 ms 3 ms 0.09 ms Database 8
apps/guides/tests.py::TestContent::test_every_insight_has_a_guide
passed 3 ms 0.38 ms 3 ms 0.11 ms Database 5
apps/projects/tests.py::AnalyticsTest::test_suite_trend
passed 3 ms 0.37 ms 2 ms 0.31 ms Database 6
apps/projects/tests.py::RealProfileDocumentTest::test_flat_stacks_still_work
passed 3 ms 0.31 ms 2 ms 0.07 ms Database 5
apps/projects/tests.py::SlugsAndNumbersTest::test_test_slugs_read_like_their_node_ids
passed 2 ms 0.33 ms 1 ms 0.09 ms Database 5
apps/guides/tests.py::TestContent::test_unknown_insights
passed 2 ms 0.37 ms 0.83 ms 0.30 ms Unsampled 5
apps/projects/tests.py::ClassifyStreaksTest::test_test_changed_when_the_test_file_changed
passed 1 ms 0.32 ms 0.83 ms 0.30 ms Database 5
apps/projects/tests.py::ClassifyStreaksTest::test_regression_caught_when_app_code_fixed_it
passed 1 ms 0.36 ms 0.86 ms 0.07 ms Unsampled 5
apps/projects/tests.py::MigrationInsightsTest::test_per_runner
passed 1 ms 1 ms 0.16 ms 0.10 ms pytest –
apps/projects/tests.py::ClassifyStreaksTest::test_flaky_when_failed_and_passed_on_same_commit
passed 1 ms 0.34 ms 0.84 ms 0.07 ms Database 5
apps/projects/tests.py::ClassifyStreaksTest::test_environment_kinds_are_counted
passed 1 ms 0.33 ms 0.83 ms 0.09 ms Unsampled 5
apps/projects/tests.py::ClassifyStreaksTest::test_resolved_without_changed_files
passed 1 ms 0.33 ms 0.85 ms 0.07 ms Database 5
apps/projects/tests.py::ClassifyStreaksTest::test_test_changed_matches_paths_relative_to_the_repository
passed 1 ms 0.32 ms 0.85 ms 0.08 ms Unsampled 5
apps/projects/tests.py::ClassifyStreaksTest::test_multiple_streaks_in_order
passed 1 ms 0.31 ms 0.87 ms 0.07 ms Database 5
apps/projects/tests.py::ClassifyStreaksTest::test_flaky_even_if_the_pass_came_first_and_elsewhere
passed 1 ms 0.36 ms 0.81 ms 0.07 ms Database 5
apps/projects/tests.py::ClassifyStreaksTest::test_ongoing
passed 1 ms 0.34 ms 0.80 ms 0.08 ms Unsampled 5
apps/projects/tests.py::ClassifyStreaksTest::test_no_failures
passed 1 ms 0.35 ms 0.79 ms 0.07 ms Unsampled 5
apps/projects/tests.py::MigrationInsightsTest::test_per_runner_needs_several_runners
passed 0.57 ms 0.36 ms 0.12 ms 0.09 ms Unsampled –
apps/projects/tests.py::MigrationInsightsTest::test_per_worker_ignores_cheap_setups
passed 0.55 ms 0.36 ms 0.11 ms 0.08 ms Unsampled –
apps/projects/tests.py::MigrationInsightsTest::test_per_worker
passed 0.51 ms 0.30 ms 0.14 ms 0.06 ms Unsampled –
apps/projects/tests.py::MigrationInsightsTest::test_per_worker_needs_repeated_builds
passed 0.49 ms 0.34 ms 0.09 ms 0.06 ms Unsampled –
apps/projects/tests.py::MigrationInsightsTest::test_per_worker_tolerates_bad_fixture_data
passed 0.49 ms 0.32 ms 0.10 ms 0.06 ms Unsampled –

Slowest fixtures

Exact setup time across the session
Fixture Scope Calls Total Max
_django_setup_unittest class 54 2.04 s 2.02 s
django_db_setup session 1 2.02 s 2.02 s
_unittest_setUpClass_fixture_ProjectPagesTest class 1 168 ms 168 ms
_unittest_setUpClass_fixture_ProfilePagePaginationTest class 1 147 ms 147 ms
_unittest_setUpClass_fixture_TestAccountSettings class 1 138 ms 138 ms
_unittest_setUpClass_fixture_McpTest class 1 112 ms 112 ms
_unittest_setUpClass_fixture_AnalyticsTest class 1 106 ms 106 ms
_unittest_setUpClass_fixture_RealProfileDocumentTest class 1 78 ms 78 ms
_unittest_setUpClass_fixture_MemoryTest class 1 55 ms 55 ms
_unittest_setUpClass_fixture_StorageTest class 1 49 ms 49 ms
_unittest_setUpClass_fixture_FlakyReportCacheTest class 1 45 ms 45 ms
_unittest_setUpClass_fixture_FlakyReportTest class 1 41 ms 41 ms
_unittest_setUpClass_fixture_UnstorableCharactersTest class 1 37 ms 37 ms
_unittest_setUpClass_fixture_LegacyUrlTest class 1 37 ms 37 ms
_unittest_setUpClass_fixture_TestProjectTestPage class 1 12 ms 12 ms