flakytest.dev anze3db flakytest
Profiles / #3

Passed Run of Oct 18, 16:20

CI github-actions:test · d2c12e5 main dirty · pass/fail report
Some tests got too few samples to explain their time. Rerun with pytest --flakytest-profile --flakytest-rate 1000.
Wall time
38.19 s
1 worker
Test time
31.59 s
sum of test durations
Tests
235
235 passed
Profiler
py-spy
500 Hz · 11,781 samples · Python 3.14.8 · flakytest 2026.0b1
Peak memory
172 MB
test process

Where the time goes

Test time by category
  • Database12.24 s
  • Libraries7.72 s
  • Migrations3.38 s
  • Password hashing2.42 s
  • DB schema2.41 s
  • Imports1.19 s
  • Templates633 ms
  • App code560 ms
  • Serialization342 ms
  • Unsampled312 ms
  • Deep copies160 ms
  • pytest152 ms
  • Factories63 ms
  • Test code18 ms

Session timeline

Other
2.18 s
Tests
27.24 s
Startup
2.59 s
Collection
310 ms
Between tests
4.91 s
Session teardown
764 ms
Test phases
Setup 7.17 s Call 24.23 s Teardown 200 ms

Fix next

Ranked by the time each fix saves per run
1

Run tests in parallel on all 2 CPUs

Tests run one at a time: 31.6s of test time on a 2-CPU machine. With pytest-xdist this could take about 15.8s.

High Parallelism
15.80 s per run
Fix: pip install pytest-xdist, then run pytest -n auto (add it to addopts, or only in CI). pytest-django creates a separate test database per worker automatically.
Details

Tests must not share state: files in fixed paths, ports, a shared database without per-worker names, or module globals. Run with -p randomly first to shake out order dependencies.

Documentation

2

Use plain static file storage in tests

Static file storage/manifest handling costs 13.3s.

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

Where:

  • apps/api/tests.py:487 upload · 820 ms
  • apps/mcp/tests.py:66 post · 681 ms
  • ft/tests.py:205 test_change_password · 560 ms
  • apps/orgs/tests.py:30 test_signing_up_creates_an_organization · 390 ms
  • ft/urls.py:35 <module> · 379 ms
  • apps/api/tests.py:352 ingest_start · 363 ms
  • ft/tests.py:161 test_signup · 293 ms
  • apps/projects/urls.py:501 project_profile · 289 ms
  • ft/tests.py:200 test_change_password · 269 ms
  • apps/api/tests.py:98 ingest_start · 211 ms

Most affected tests:

  • ft/tests.py::TestAccountSettings::test_change_password
  • apps/api/tests.py::TestApiIndex::test_index
  • apps/orgs/tests.py::SignupTest::test_signing_up_creates_an_organization
  • apps/projects/tests.py::ProjectPagesTest::test_dashboard_filters
  • ft/tests.py::TestAccountPages::test_signup
  • apps/api/tests.py::ProfileUploadTest::test_missing_parts_mark_the_profile_incomplete
  • apps/projects/tests.py::ProjectPagesTest::test_configure_page
  • ft/tests.py::TestTrubleshootingPage::test_troubleshooting
3

Disable django-debug-toolbar in tests

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

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

Where:

  • ft/tests.py:205 test_change_password · 560 ms
  • ft/urls.py:35 <module> · 379 ms
  • apps/orgs/tests.py:30 test_signing_up_creates_an_organization · 371 ms
  • ft/tests.py:161 test_signup · 293 ms
  • apps/projects/urls.py:501 project_profile · 289 ms
  • ft/tests.py:200 test_change_password · 269 ms
  • apps/api/urls.py:72 wrapped_view · 170 ms
  • apps/projects/urls.py:49 find_project · 148 ms
  • apps/projects/analytics.py:264 latest_profiles · 104 ms
  • ft/urls.py:45 index · 102 ms

Most affected tests:

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

Documentation

4

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
4.22 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).
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

5

Make the test database server skip durability work

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

High Database
3.61 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.
Details

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

Where:

  • apps/projects/models.py:466 save · 416 ms
  • apps/projects/profiles.py:313 write_snapshots · 320 ms
  • apps/api/tests.py:73 setUp · 238 ms
  • apps/projects/profiles.py:458 write_perfs · 227 ms
  • apps/api/tests.py:76 join_workers · 226 ms
  • apps/projects/rollups.py:88 add_perfs · 194 ms
  • apps/projects/profiles.py:479 finalize_profile · 190 ms
  • apps/projects/models.py:230 upsert · 188 ms
  • apps/projects/environments.py:63 get_or_create_environment · 183 ms
  • apps/projects/tests.py:953 setUp · 167 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_end_after_progress
  • apps/api/tests.py::ProfileUploadQueueTest::test_upload_is_processed_by_the_worker
  • apps/projects/tests.py::ProfilePagePaginationTest::test_slowest_tests_first_then_the_next_page
  • 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_start_progress_end

Documentation

6

Stop re-running migrations on every test run

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

Medium Migrations
3.04 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.
Details

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

Most affected tests:

  • apps/api/tests.py::TestApiIndex::test_index

Documentation

7

Use a fast password hasher in tests

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

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

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

Where:

  • ft/tests.py:205 test_change_password · 552 ms
  • apps/orgs/tests.py:30 test_signing_up_creates_an_organization · 304 ms
  • ft/tests.py:161 test_signup · 288 ms
  • apps/orgs/tests.py:194 test_superusers_can_open_any_project_but_dont_list_them · 281 ms
  • ft/tests.py:200 test_change_password · 267 ms
  • ft/tests.py:230 test_projects_only_lists_your_own_even_for_superusers · 259 ms
  • ft/tests.py:175 setUpTestData · 231 ms
  • ft/tests.py:213 test_change_password · 226 ms
  • apps/projects/tests.py:1353 setUpTestData · 6 ms

Most affected tests:

  • ft/tests.py::TestAccountSettings::test_change_password
  • apps/orgs/tests.py::SignupTest::test_signing_up_creates_an_organization
  • ft/tests.py::TestAccountPages::test_signup
  • apps/orgs/tests.py::SuperuserTest::test_superusers_can_open_any_project_but_dont_list_them
  • ft/tests.py::TestAccountSettings::test_projects_only_lists_your_own_even_for_superusers
  • apps/projects/tests.py::MemoryTest::test_dashboard_shows_the_tests_with_most_memory

Documentation

8

Use TestCase instead of TransactionTestCase

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

Medium DB schema
1.45 s 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).
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::IngestStartEndpointTest::test_ingest_end_after_progress
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_multiple_sessions
  • 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_details_are_kept_for_failures_only
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_valid
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_progress_before_start
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_with_git

Documentation

9

Tests open new database connections over and over

Connecting to the database takes 1.3s.

Medium Database
1.04 s 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).
Details

Where:

  • apps/api/tests.py:76 join_workers · 191 ms
  • apps/api/tests.py:73 setUp · 171 ms
  • apps/api/tests.py:928 setUp · 84 ms
  • apps/api/tasks.py:266 warm_reports · 81 ms
  • apps/api/urls.py:72 wrapped_view · 48 ms
  • apps/api/tests.py:306 test_details_are_kept_for_failures_only · 20 ms
  • apps/api/tests.py:212 test_ingest_start_progress_end · 17 ms
  • apps/api/tasks.py:237 process_profile · 17 ms
  • apps/api/tests.py:988 test_upload_is_processed_by_the_worker · 17 ms
  • apps/api/tests.py:331 test_results_are_counted_and_the_payload_dropped · 13 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::ProfileUploadLockTest::test_upload_while_a_part_is_being_processed
  • 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
10

Create shared test data in setUpTestData instead of setUp

setUp() runs before every test and takes 941ms in total (db 887ms, library 40ms, factories 6ms) in 13 classes: SettingsTest (3 tests), ProjectsPageTest (5 tests), ProjectEditPage (6 tests), ProjectDeletePage (4 tests).

Low Database
659 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).
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/api/tests.py:73 setUp · 244 ms
  • apps/projects/tests.py:953 setUp · 180 ms
  • apps/api/tests.py:928 setUp · 105 ms
  • apps/projects/tests.py:337 setUp · 75 ms
  • apps/projects/tests.py:142 setUp · 56 ms
  • apps/projects/tests.py:412 setUp · 50 ms
  • apps/projects/tests.py:218 setUp · 49 ms
  • apps/projects/tests.py:1375 setUp · 43 ms
  • apps/projects/tests.py:187 setUp · 29 ms
  • apps/projects/tests.py:307 setUp · 26 ms

Most affected tests:

  • apps/api/tests.py::ProfileUploadLockTest::test_upload_while_a_part_is_being_processed
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_with_git
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_progress_before_start
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_multiple_sessions
  • apps/api/tests.py::IngestStartEndpointTest::test_details_are_kept_for_failures_only
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_end_after_progress
  • apps/projects/tests.py::ProjectTestsPage::test_project_with_no_tests

Documentation

11

Modules are imported while tests run

1.2s 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
356 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).
Details

Where:

  • ft/urls.py:35 <module> · 379 ms
  • apps/api/tests.py:42 test_index · 126 ms
  • ft/urls.py:152 <module> · 99 ms
  • apps/projects/urls.py:501 project_profile · 51 ms
  • apps/projects/urls.py:8 <module> · 16 ms
  • apps/projects/tests.py:1143 test_seed_demo · 13 ms
  • apps/api/tests.py:76 join_workers · 11 ms
  • apps/projects/migrations/0011_environments_profiles.py:182 Migration · 8 ms
  • ft/urls.py:181 <module> · 7 ms
  • ft/urls.py:151 <module> · 7 ms

Most affected tests:

  • apps/api/tests.py::TestApiIndex::test_index
  • apps/api/tests.py::ProfileUploadTest::test_missing_parts_mark_the_profile_incomplete
  • apps/projects/tests.py::SeedDemoCommandTest::test_seed_demo
  • apps/api/tests.py::IngestStartEndpointTest::test_ingest_multiple_sessions
  • apps/orgs/tests.py::MembersTest::test_owner_invites_someone_who_signs_up
  • apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types
  • apps/projects/tests.py::IndexPageTest::test_index_page
  • apps/projects/tests.py::MemoryTest::test_memory_tests_are_ranked_by_average_peak

Tests

1–200 of 235, slowest first · click a column to sort this page
Test Outcome Duration Setup Call Teardown Mostly Queries
apps/api/tests.py::TestApiIndex::test_index
passed 5.34 s 4.55 s 788 ms 7 ms Migrations 512
132 repeated
apps/projects/tests.py::SeedDemoCommandTest::test_seed_demo
passed 2.30 s 14 ms 2.28 s 0.76 ms Database 1322
388 repeated
ft/tests.py::TestAccountSettings::test_change_password
passed 1.32 s 240 ms 1.08 s 0.26 ms Password hashing 39
14 repeated
apps/projects/tests.py::ProjectPagesTest::test_configure_page
passed 536 ms 313 ms 223 ms 0.21 ms Database 323
65 repeated
apps/projects/tests.py::ProfilePagePaginationTest::test_slowest_tests_first_then_the_next_page
passed 484 ms 274 ms 209 ms 0.97 ms Database 101
19 repeated
apps/api/tests.py::IngestStartEndpointTest::test_ingest_end_after_progress
passed 468 ms 1 ms 466 ms 0.29 ms DB schema 133
58 repeated
apps/orgs/tests.py::SignupTest::test_signing_up_creates_an_organization
passed 425 ms 0.91 ms 423 ms 0.67 ms Password hashing 43
3 repeated
apps/api/tests.py::ProfileUploadTest::test_missing_parts_mark_the_profile_incomplete
passed 383 ms 1 ms 381 ms 0.24 ms Database 190
43 repeated
apps/api/tests.py::ProfileUploadQueueTest::test_upload_is_processed_by_the_worker
passed 379 ms 1 ms 377 ms 0.26 ms Database 117
56 repeated
apps/api/tests.py::IngestStartEndpointTest::test_all_test_status_types
passed 378 ms 3 ms 374 ms 0.34 ms Database 136
58 repeated
apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_progress_end
passed 354 ms 1 ms 352 ms 0.31 ms DB schema 133
58 repeated
apps/projects/tests.py::ProjectPagesTest::test_dashboard_filters
passed 353 ms 0.86 ms 352 ms 0.19 ms Database 198
57 repeated
apps/api/tests.py::IngestStartEndpointTest::test_results_are_counted_and_the_payload_dropped
passed 345 ms 2 ms 343 ms 0.35 ms Database 139
58 repeated
apps/api/tests.py::IngestStartEndpointTest::test_ingest_progress_before_start
passed 344 ms 1 ms 342 ms 0.27 ms Database 133
58 repeated
apps/orgs/tests.py::SuperuserTest::test_superusers_can_open_any_project_but_dont_list_them
passed 341 ms 22 ms 317 ms 0.73 ms Password hashing 68
20 repeated
ft/tests.py::TestAccountPages::test_signup
passed 325 ms 1 ms 323 ms 0.19 ms Password hashing 26
ft/tests.py::TestAccountSettings::test_projects_only_lists_your_own_even_for_superusers
passed 312 ms 0.84 ms 311 ms 0.24 ms Password hashing 70
17 repeated
apps/api/tests.py::IngestStartEndpointTest::test_ingest_multiple_sessions
passed 308 ms 2 ms 306 ms 0.20 ms DB schema 108
56 repeated
apps/api/tests.py::ProfileUploadTest::test_upload_in_parts
passed 281 ms 1 ms 280 ms 0.25 ms Libraries 133
36 repeated
apps/api/tests.py::ProfileUploadTest::test_upload_adds_migrations_per_runner_insight
passed 270 ms 3 ms 267 ms 0.19 ms Database 229
49 repeated
apps/mcp/tests.py::McpTest::test_bare_token
passed 268 ms 218 ms 50 ms 0.18 ms Database 219
46 repeated
apps/api/tests.py::IngestStartEndpointTest::test_details_are_kept_for_failures_only
passed 262 ms 0.94 ms 261 ms 0.19 ms DB schema 107
56 repeated
apps/api/tests.py::ProfileUploadTest::test_reupload_split_differently
passed 251 ms 0.80 ms 250 ms 0.30 ms Database 210
58 repeated
apps/api/tests.py::ProfileUploadTest::test_daily_stats_count_a_profile_once_every_part_is_in
passed 250 ms 0.95 ms 249 ms 0.17 ms Database 224
63 repeated
apps/api/tests.py::ProfileUploadTest::test_reprocessing_a_part_takes_the_profile_out_of_the_daily_stats_until_it_is_done
passed 242 ms 0.90 ms 241 ms 0.22 ms Database 148
40 repeated
apps/api/tests.py::ProfileUploadLockTest::test_upload_while_a_part_is_being_processed
passed 234 ms 2 ms 231 ms 0.32 ms Database 86
56 repeated
apps/api/tests.py::ProfileUploadTest::test_upload_adds_migrations_per_worker_insight
passed 220 ms 0.95 ms 219 ms 0.23 ms Database 149
32 repeated
ft/tests.py::TestTrubleshootingPage::test_troubleshooting
passed 219 ms 14 ms 205 ms 0.18 ms Libraries 5
apps/projects/tests.py::MemoryTest::test_dashboard_shows_the_tests_with_most_memory
passed 212 ms 97 ms 115 ms 0.24 ms Database 150
26 repeated
apps/orgs/tests.py::ProjectCardsTest::test_cards_show_the_trend_and_the_speed_ups
passed 209 ms 23 ms 185 ms 1 ms Database 167
31 repeated
apps/projects/tests.py::AnalyticsTest::test_category_breakdown
passed 209 ms 198 ms 10 ms 0.20 ms Database 205
48 repeated
apps/api/tests.py::IngestStartEndpointTest::test_ingest_start_with_git
passed 205 ms 3 ms 202 ms 0.24 ms DB schema 96
56 repeated
apps/api/tests.py::IngestStartEndpointTest::test_ingest_valid
passed 199 ms 1 ms 196 ms 2 ms DB schema 91
56 repeated
apps/api/tests.py::ProfileUploadTest::test_a_changed_part_replaces_the_old_one
passed 188 ms 16 ms 172 ms 0.22 ms Database 113
28 repeated
apps/projects/tests.py::RealProfileDocumentTest::test_call_tree
passed 183 ms 163 ms 19 ms 0.52 ms Database 89
14 repeated
apps/projects/tests.py::ProjectsPageTest::test_not_logged_in
passed 182 ms 0.95 ms 181 ms 0.20 ms Libraries 24
apps/projects/tests.py::ProjectPagesTest::test_projects_page
passed 168 ms 0.68 ms 167 ms 0.22 ms Database 84
22 repeated
apps/projects/tests.py::ProjectPagesTest::test_test_page_per_environment
passed 166 ms 0.75 ms 165 ms 0.31 ms Database 72
20 repeated
apps/api/tests.py::TestInvalidIngest::test_ingest_invalid
passed 164 ms 20 ms 144 ms 0.26 ms Libraries 15
apps/orgs/tests.py::MembersTest::test_owner_invites_someone_who_signs_up
passed 157 ms 0.85 ms 156 ms 0.18 ms Database 118
37 repeated
apps/api/tests.py::TestInvalidIngest::test_ingest_no_token
passed 156 ms 1 ms 153 ms 2 ms Libraries 6
apps/projects/tests.py::LegacyUrlTest::test_by_id
passed 155 ms 69 ms 86 ms 0.29 ms Database 115
32 repeated
apps/projects/tests.py::ProjectPagesTest::test_dashboard
passed 149 ms 0.85 ms 148 ms 0.21 ms Database 78
19 repeated
apps/projects/tests.py::ProjectPagesTest::test_test_page
passed 145 ms 0.89 ms 144 ms 0.23 ms Database 66
16 repeated
apps/api/tests.py::ProfileUploadTest::test_upload_gzip_without_content_encoding
passed 140 ms 0.99 ms 139 ms 0.28 ms Database 60
8 repeated
apps/projects/tests.py::StorageTest::test_an_older_upload_keeps_the_newer_snapshot
passed 139 ms 96 ms 42 ms 0.25 ms Database 128
29 repeated
apps/orgs/tests.py::AccessTest::test_members_see_every_project_of_the_organization
passed 138 ms 22 ms 116 ms 0.19 ms Database 54
12 repeated
apps/api/tests.py::ProfileUploadTest::test_processing_twice_is_safe
passed 137 ms 0.77 ms 136 ms 0.20 ms Database 102
25 repeated
apps/projects/tests.py::ProjectPagesTest::test_dashboard_public_by_slug
passed 136 ms 0.89 ms 135 ms 0.19 ms Database 73
19 repeated
apps/api/tests.py::ProfileUploadTest::test_complete_profiles_are_not_marked_incomplete
passed 136 ms 0.69 ms 135 ms 0.19 ms Database 105
26 repeated
apps/api/tests.py::IngestEnvironmentTest::test_environment_without_kind_is_guessed_from_the_name
passed 135 ms 28 ms 107 ms 0.27 ms Libraries 37
apps/projects/tests.py::FlakyReportCacheTest::test_cached_until_new_results_arrive
passed 132 ms 67 ms 64 ms 0.98 ms Database 106
20 repeated
apps/projects/tests.py::StorageTest::test_pages_work_after_pruning
passed 131 ms 1 ms 130 ms 0.20 ms Database 71
18 repeated
apps/api/tests.py::ProfileUploadTest::test_reupload_replaces_profile
passed 129 ms 1 ms 127 ms 0.25 ms Database 96
21 repeated
apps/api/tests.py::ProfileUploadTest::test_upload_links_ingest_session
passed 128 ms 0.82 ms 124 ms 3 ms Database 96
22 repeated
apps/api/tests.py::ProfileUploadTest::test_a_failed_part_can_be_uploaded_again
passed 127 ms 0.89 ms 126 ms 0.20 ms Database 95
21 repeated
apps/projects/tests.py::ProjectPagesTest::test_profiles_page
passed 125 ms 0.89 ms 124 ms 0.23 ms Libraries 34
apps/projects/tests.py::ProjectPagesTest::test_mute_and_unmute
passed 123 ms 0.84 ms 122 ms 0.19 ms Database 62
16 repeated
apps/api/tests.py::ProfileUploadTest::test_the_same_upload_twice_changes_nothing
passed 121 ms 2 ms 119 ms 0.62 ms Database 68
12 repeated
apps/projects/tests.py::ProjectPagesTest::test_tests_page
passed 114 ms 0.89 ms 113 ms 0.23 ms Database 56
6 repeated
apps/projects/tests.py::ProjectPagesTest::test_dashboard_without_profiles
passed 114 ms 0.83 ms 113 ms 0.17 ms Database 65
7 repeated
apps/projects/tests.py::MemoryTest::test_profile_and_test_pages
passed 111 ms 0.87 ms 110 ms 0.28 ms Database 60
18 repeated
apps/projects/tests.py::ProjectPagesTest::test_profile_page
passed 105 ms 0.85 ms 104 ms 0.30 ms Templates 34
apps/projects/tests.py::MigrationInsightsTest::test_replace_insight
passed 105 ms 0.68 ms 0.16 ms 104 ms DB schema 1
apps/api/tests.py::IngestEnvironmentTest::test_same_environment_is_reused
passed 104 ms 1 ms 100 ms 3 ms Libraries 61
12 repeated
apps/mcp/tests.py::McpTest::test_get_overview
passed 102 ms 0.85 ms 101 ms 0.20 ms Database 47
7 repeated
apps/projects/tests.py::IndexPageTest::test_index_page
passed 102 ms 12 ms 87 ms 3 ms Templates 6
apps/api/tests.py::TestMute::test_muted_tests
passed 102 ms 19 ms 83 ms 0.19 ms Database 42
apps/projects/tests.py::MemoryTest::test_memory_tab
passed 102 ms 2 ms 100 ms 0.24 ms Libraries 50
10 repeated
apps/projects/tests.py::ProjectCreatePage::test_first_project_is_onboarding
passed 102 ms 14 ms 87 ms 0.19 ms Database 56
10 repeated
apps/projects/tests.py::ProjectsPageTest::test_multiple_projects
passed 100 ms 15 ms 85 ms 0.22 ms Database 49
3 repeated
apps/api/tests.py::ProfileUploadTest::test_reject_too_large_uncompressed
passed 99 ms 1.00 ms 98 ms 0.18 ms Libraries 10
apps/projects/tests.py::FlakyReportTest::test_report
passed 98 ms 79 ms 19 ms 0.19 ms Database 87
30 repeated
apps/api/tests.py::ProfileUploadTest::test_upload_json
passed 97 ms 0.97 ms 96 ms 0.18 ms Database 71
17 repeated
apps/projects/tests.py::ProjectPagesTest::test_run_page
passed 97 ms 0.77 ms 96 ms 0.19 ms Database 52
6 repeated
apps/projects/tests.py::ProjectEditPage::test_invalid_form
passed 96 ms 25 ms 71 ms 0.19 ms Libraries 43
3 repeated
apps/projects/tests.py::TestProjectTestPage::test_project_test_page
passed 96 ms 0.84 ms 95 ms 0.20 ms Database 42
3 repeated
apps/projects/tests.py::StorageTest::test_prune_old_data
passed 94 ms 0.87 ms 93 ms 0.20 ms Database 107
25 repeated
apps/orgs/tests.py::SettingsTest::test_create_another_organization
passed 94 ms 20 ms 74 ms 0.18 ms Libraries 49
12 repeated
apps/projects/tests.py::ProjectPagesTest::test_test_page_without_profiles
passed 93 ms 1 ms 92 ms 0.26 ms Database 44
3 repeated
apps/projects/tests.py::ProjectRunsPage::test_not_logged_in
passed 92 ms 36 ms 56 ms 0.22 ms Database 34
apps/projects/tests.py::TestProjectTestPage::test_project_test_page_with_durations
passed 91 ms 0.96 ms 90 ms 0.68 ms Database 52
9 repeated
ft/tests.py::TestDocsPage::test_linked_from_the_app
passed 88 ms 0.83 ms 87 ms 0.18 ms Libraries 49
3 repeated
apps/api/tests.py::IngestEnvironmentTest::test_old_client_locally
passed 88 ms 1 ms 87 ms 0.25 ms Libraries 34
apps/projects/tests.py::ProjectPagesTest::test_tests_page_flaky_tab
passed 88 ms 0.73 ms 86 ms 0.85 ms Database 40
apps/api/tests.py::ProfileUploadTest::test_upload_gzip
passed 86 ms 0.86 ms 85 ms 0.19 ms Database 61
8 repeated
apps/projects/tests.py::ProjectEditPage::test_slug_unique_in_organization
passed 86 ms 2 ms 83 ms 0.79 ms Libraries 50
16 repeated
apps/orgs/tests.py::MembersTest::test_invitations_expire
passed 86 ms 18 ms 67 ms 0.17 ms Libraries 41
9 repeated
apps/projects/tests.py::ProjectTestsPage::test_project_with_no_tests
passed 85 ms 0.94 ms 84 ms 0.20 ms Database 42
apps/orgs/tests.py::SettingsTest::test_rename
passed 84 ms 0.66 ms 83 ms 0.69 ms Database 52
18 repeated
apps/api/tests.py::IngestEnvironmentTest::test_new_client_environment_and_git_changes
passed 83 ms 1 ms 81 ms 0.27 ms Libraries 38
ft/tests.py::TestAccountSettings::test_email
passed 82 ms 0.88 ms 81 ms 0.19 ms Libraries 41
17 repeated
apps/projects/tests.py::ProjectRunsPage::test_project_with_no_runs
passed 82 ms 0.92 ms 81 ms 0.21 ms Libraries 35
apps/projects/tests.py::ProjectRunsPage::test_project_with_runs
passed 82 ms 0.79 ms 80 ms 0.67 ms Database 41
apps/projects/tests.py::ProjectRunPage::test_not_logged_in
passed 82 ms 26 ms 56 ms 0.23 ms Database 37
apps/projects/tests.py::ProjectDeletePage::test_project_submit
passed 82 ms 0.74 ms 80 ms 0.68 ms Database 49
3 repeated
apps/api/tests.py::IngestEnvironmentTest::test_old_client_on_github_actions
passed 81 ms 0.99 ms 80 ms 0.30 ms Libraries 34
apps/projects/tests.py::ProjectCreatePage::test_next_project
passed 80 ms 0.89 ms 78 ms 0.26 ms Libraries 53
9 repeated
apps/projects/tests.py::ProjectTestsPage::test_not_logged_in
passed 78 ms 25 ms 52 ms 0.20 ms Database 37
apps/projects/tests.py::ProjectsPageTest::test_other_peoples_project
passed 78 ms 0.85 ms 77 ms 0.18 ms Database 52
7 repeated
ft/tests.py::TestTrubleshootingPage::test_troubleshooting_is_only_for_members
passed 78 ms 0.87 ms 76 ms 0.22 ms Libraries 56
10 repeated
apps/projects/tests.py::TestProjectTestPage::test_not_logged_in
passed 78 ms 25 ms 53 ms 0.25 ms Database 37
apps/api/tests.py::IngestEnvironmentTest::test_old_client_on_unknown_ci
passed 77 ms 1 ms 76 ms 0.24 ms Libraries 34
apps/api/tests.py::ProfileUploadTest::test_minimal_document
passed 77 ms 0.85 ms 76 ms 0.21 ms Database 49
11 repeated
ft/tests.py::TestProjectsHome::test_user_logged_in
passed 76 ms 14 ms 62 ms 0.19 ms Database 35
apps/orgs/tests.py::SettingsTest::test_delete
passed 76 ms 0.77 ms 75 ms 0.24 ms Database 48
3 repeated
apps/projects/tests.py::ProjectCreatePage::test_invalid_form
passed 75 ms 0.93 ms 74 ms 0.18 ms Libraries 40
3 repeated
apps/projects/tests.py::ProjectDeletePage::test_not_logged_in
passed 75 ms 24 ms 51 ms 0.20 ms Libraries 33
apps/orgs/tests.py::AccessTest::test_switchers
passed 75 ms 0.84 ms 74 ms 0.78 ms Libraries 42
apps/projects/tests.py::ProjectPagesTest::test_pending_profile_page
passed 75 ms 0.80 ms 74 ms 0.19 ms Database 34
apps/projects/tests.py::ProjectPagesTest::test_runs_page
passed 74 ms 0.82 ms 73 ms 0.21 ms Database 38
apps/api/tests.py::TestMute::test_no_muted_tests
passed 74 ms 0.94 ms 72 ms 0.79 ms Libraries 46
apps/projects/tests.py::ProjectsPageTest::test_no_project
passed 73 ms 0.89 ms 72 ms 0.26 ms Database 41
3 repeated
apps/projects/tests.py::ProjectsPageTest::test_project
passed 73 ms 1 ms 71 ms 0.62 ms Libraries 48
3 repeated
apps/orgs/tests.py::MembersTest::test_roles_and_the_last_owner
passed 72 ms 0.76 ms 71 ms 0.67 ms Database 45
16 repeated
apps/projects/tests.py::ProjectEditPage::test_project_submit
passed 72 ms 0.89 ms 71 ms 0.20 ms Libraries 41
9 repeated
apps/projects/tests.py::ProjectRunPage::test_project_with_runs_no_tests
passed 72 ms 0.92 ms 70 ms 0.73 ms Libraries 35
apps/projects/tests.py::ProjectDeletePage::test_other_peoples_project
passed 71 ms 0.96 ms 70 ms 0.25 ms Libraries 33
ft/tests.py::UnsubscribeTest::test_signed_links
passed 71 ms 11 ms 59 ms 0.86 ms Libraries 17
3 repeated
apps/orgs/tests.py::MembersTest::test_owners_revoke_invitations
passed 70 ms 0.85 ms 69 ms 0.26 ms Libraries 41
6 repeated
apps/mcp/tests.py::McpTest::test_list_slow_tests
passed 68 ms 0.88 ms 67 ms 0.18 ms Database 23
apps/projects/tests.py::ProjectTestsPage::test_project_with_tests
passed 67 ms 0.85 ms 66 ms 0.83 ms Libraries 35
apps/projects/tests.py::ProjectEditPage::test_project
passed 67 ms 0.77 ms 66 ms 0.25 ms Libraries 33
apps/projects/tests.py::ProjectPagesTest::test_dashboard_without_data_shows_setup
passed 66 ms 0.85 ms 65 ms 0.27 ms Database 41
ft/tests.py::TestTrubleshootingPage::test_troubleshooting_with_project
passed 65 ms 1 ms 63 ms 0.67 ms Libraries 36
apps/mcp/tests.py::McpTest::test_get_test
passed 65 ms 0.84 ms 64 ms 0.44 ms Libraries 16
apps/projects/tests.py::ProjectPagesTest::test_htmx_refresh_run_row
passed 64 ms 0.93 ms 63 ms 0.19 ms Libraries 28
apps/mcp/tests.py::McpTest::test_list_flaky_tests
passed 64 ms 0.98 ms 63 ms 0.18 ms Database 23
ft/tests.py::TestIndexPage::test_landing_page_when_signed_in
passed 63 ms 0.88 ms 62 ms 0.62 ms Libraries 32
apps/api/tests.py::TestGithubMarketplaceHookEndpoint::test_github_marketplace_hook
passed 63 ms 15 ms 47 ms 0.64 ms Libraries 8
apps/orgs/tests.py::AccessTest::test_others_dont
passed 63 ms 0.71 ms 62 ms 0.28 ms Database 32
10 repeated
apps/projects/tests.py::ProjectDeletePage::test_project
passed 62 ms 0.80 ms 61 ms 0.19 ms Database 31
ft/tests.py::TestProjectsHome::test_user_logged_in_with_multiple_projects
passed 62 ms 0.93 ms 61 ms 0.20 ms Libraries 37
3 repeated
ft/tests.py::TestAccountSettings::test_connections
passed 62 ms 1 ms 61 ms 0.22 ms Libraries 24
ft/tests.py::TestProjectsHome::test_user_logged_in_without_projects
passed 62 ms 0.88 ms 60 ms 0.76 ms Libraries 30
ft/tests.py::TestAccountSettings::test_set_password_for_github_users
passed 62 ms 0.66 ms 60 ms 0.74 ms Libraries 34
10 repeated
apps/projects/tests.py::BackfillSessionEnvironmentsTest::test_backfill
passed 61 ms 11 ms 50 ms 0.66 ms Database 53
29 repeated
apps/mcp/tests.py::McpTest::test_get_test_by_substring
passed 61 ms 0.86 ms 60 ms 0.19 ms Database 17
apps/mcp/tests.py::McpTest::test_list_runs
passed 61 ms 0.83 ms 60 ms 0.21 ms Libraries 17
apps/projects/tests.py::ProjectPagesTest::test_dashboard_other_users_project
passed 61 ms 0.71 ms 60 ms 0.17 ms Libraries 34
9 repeated
apps/projects/tests.py::TestProjectTestPage::test_other_peoples_project
passed 61 ms 0.84 ms 60 ms 0.18 ms Libraries 33
9 repeated
apps/projects/tests.py::ProjectEditPage::test_other_peoples_project
passed 61 ms 0.77 ms 60 ms 0.24 ms Database 33
apps/mcp/tests.py::McpTest::test_errors
passed 60 ms 0.89 ms 59 ms 0.19 ms Libraries 19
14 repeated
apps/projects/tests.py::ProjectTestsPage::test_other_peoples_project
passed 60 ms 0.68 ms 59 ms 0.19 ms Database 28
apps/orgs/tests.py::MembersTest::test_only_owners_invite_and_manage
passed 60 ms 0.79 ms 59 ms 0.18 ms Database 35
13 repeated
apps/projects/tests.py::ProjectPagesTest::test_configure_public
passed 59 ms 0.85 ms 58 ms 0.20 ms Database 33
3 repeated
apps/projects/tests.py::ProjectPagesTest::test_htmx_refresh
passed 59 ms 0.73 ms 58 ms 0.20 ms Database 30
3 repeated
apps/projects/tests.py::ProjectCreatePage::test_not_logged_in
passed 59 ms 0.77 ms 57 ms 0.79 ms Libraries 24
apps/projects/tests.py::LegacyUrlTest::test_private_projects_stay_private
passed 58 ms 0.85 ms 57 ms 0.73 ms Libraries 27
3 repeated
apps/projects/tests.py::ProjectRunsPage::test_other_peoples_project
passed 58 ms 0.93 ms 57 ms 0.24 ms Libraries 28
apps/api/tests.py::ProfileUploadTest::test_invalid_part
passed 58 ms 0.92 ms 57 ms 0.18 ms Libraries 22
8 repeated
ft/tests.py::TestAccountPages::test_login
passed 57 ms 12 ms 45 ms 0.18 ms Libraries 5
apps/api/tests.py::ProfileUploadTest::test_reject_too_large
passed 57 ms 0.85 ms 56 ms 0.23 ms Unsampled 11
apps/mcp/tests.py::McpTest::test_list_memory_tests
passed 57 ms 0.74 ms 56 ms 0.19 ms Libraries 10
apps/mcp/tests.py::McpTest::test_compare_environments
passed 56 ms 0.75 ms 56 ms 0.22 ms Libraries 18
4 repeated
ft/tests.py::TestGetStartedPage::test_get_started
passed 56 ms 13 ms 42 ms 1 ms Libraries 5
ft/tests.py::TestCIPage::test_ci
passed 56 ms 11 ms 44 ms 0.72 ms Libraries 5
apps/projects/tests.py::ProjectRunPage::test_other_peoples_project
passed 54 ms 0.76 ms 53 ms 0.21 ms Database 31
ft/tests.py::TestChangelogPage::test_changelog
passed 54 ms 13 ms 41 ms 0.82 ms Libraries 5
ft/tests.py::TestIndexPage::test_index
passed 54 ms 12 ms 42 ms 0.17 ms Libraries 6
ft/tests.py::TestAccountPages::test_static_pages
passed 54 ms 0.93 ms 52 ms 0.68 ms Libraries 5
apps/projects/tests.py::ProjectPagesTest::test_private_dashboard_requires_login
passed 54 ms 0.81 ms 53 ms 0.18 ms Libraries 26
apps/orgs/tests.py::MembersTest::test_members_can_leave
passed 54 ms 0.74 ms 53 ms 0.18 ms Libraries 28
apps/projects/tests.py::MemoryTest::test_reprocessing_doesnt_count_memory_twice
passed 53 ms 0.67 ms 52 ms 0.19 ms Database 59
9 repeated
apps/projects/tests.py::ProjectEditPage::test_not_logged_in
passed 53 ms 0.66 ms 52 ms 0.21 ms Database 24
ft/tests.py::TestDocsPage::test_docs
passed 52 ms 10 ms 41 ms 0.23 ms Libraries 5
apps/api/tests.py::ProfileUploadTest::test_reject_other_formats
passed 51 ms 0.77 ms 50 ms 0.22 ms Libraries 11
apps/mcp/tests.py::McpTest::test_initialize_with_older_and_unknown_versions
passed 50 ms 0.80 ms 49 ms 0.28 ms Libraries 9
apps/projects/tests.py::LegacyUrlTest::test_by_public_slug
passed 49 ms 0.98 ms 48 ms 0.26 ms Database 10
apps/mcp/tests.py::McpTest::test_get_insights
passed 49 ms 0.86 ms 48 ms 0.18 ms Libraries 10
apps/mcp/tests.py::McpTest::test_requires_token
passed 49 ms 0.91 ms 48 ms 0.18 ms Libraries 6
apps/mcp/tests.py::McpTest::test_get_test_not_found
passed 49 ms 0.87 ms 48 ms 0.20 ms Libraries 13
4 repeated
apps/orgs/tests.py::SlugTest::test_unique_and_not_reserved
passed 45 ms 31 ms 10 ms 4 ms Database 11
5 repeated
apps/mcp/tests.py::McpTest::test_list_environments
passed 45 ms 0.91 ms 44 ms 0.18 ms Libraries 10
ft/tests.py::TestDocsPage::test_linked_from_the_site
passed 45 ms 0.94 ms 43 ms 0.68 ms Libraries 6
apps/orgs/tests.py::AccessTest::test_public_projects_are_readable_by_anyone
passed 44 ms 0.86 ms 43 ms 0.21 ms Libraries 9
apps/mcp/tests.py::McpTest::test_unknown_environment_is_a_tool_error
passed 44 ms 0.83 ms 42 ms 0.72 ms Libraries 9
apps/api/tests.py::ProfileUploadTest::test_reject_invalid_gzip
passed 43 ms 0.93 ms 42 ms 0.18 ms Libraries 10
apps/mcp/tests.py::McpTest::test_initialize
passed 43 ms 0.95 ms 42 ms 0.17 ms Libraries 7
apps/mcp/tests.py::McpTest::test_batch_of_notifications
passed 43 ms 0.84 ms 42 ms 0.18 ms Libraries 7
apps/api/tests.py::ProfileUploadTest::test_reject_invalid_json
passed 43 ms 0.78 ms 42 ms 0.19 ms Libraries 10
apps/mcp/tests.py::McpTest::test_ping
passed 42 ms 0.65 ms 41 ms 0.17 ms Libraries 7
apps/mcp/tests.py::McpTest::test_batch
passed 42 ms 0.91 ms 41 ms 0.19 ms Libraries 7
apps/mcp/tests.py::McpTest::test_initialized_notification
passed 42 ms 0.84 ms 41 ms 0.21 ms Database 7
apps/api/tests.py::ProfileUploadTest::test_reject_missing_run
passed 41 ms 0.86 ms 40 ms 0.18 ms Libraries 10
apps/mcp/tests.py::McpTest::test_tools_list
passed 41 ms 0.93 ms 39 ms 0.18 ms Libraries 7
apps/projects/tests.py::StorageTest::test_reprocessing_a_profile_replaces_its_contribution
passed 40 ms 1 ms 38 ms 0.18 ms Database 47
12 repeated
apps/mcp/tests.py::McpTest::test_get_not_allowed
passed 40 ms 0.84 ms 39 ms 0.27 ms Libraries 5
apps/api/tests.py::ProfileUploadTest::test_no_token
passed 39 ms 0.78 ms 38 ms 0.18 ms Libraries 6
apps/orgs/tests.py::SignupTest::test_github_login_names_it
passed 38 ms 27 ms 11 ms 0.16 ms Database 11
apps/api/tests.py::ProfileUploadTest::test_get_not_allowed
passed 37 ms 0.66 ms 36 ms 0.24 ms Libraries 5
apps/projects/tests.py::SlugsAndNumbersTest::test_a_taken_number_is_retried
passed 36 ms 22 ms 14 ms 0.15 ms Database 24
3 repeated
apps/projects/tests.py::AnalyticsTest::test_slow_tests_per_environment
passed 33 ms 2 ms 32 ms 0.22 ms Database 24
13 repeated
apps/projects/tests.py::AnalyticsTest::test_single_test
passed 27 ms 0.76 ms 26 ms 0.25 ms Database 16
9 repeated
apps/projects/tests.py::AnalyticsTest::test_overview
passed 22 ms 0.74 ms 21 ms 0.15 ms Database 17
apps/projects/tests.py::AnalyticsTest::test_compare_environments
passed 19 ms 0.74 ms 19 ms 0.19 ms Database 11
apps/projects/tests.py::SlugsAndNumbersTest::test_runs_and_profiles_are_numbered_per_project
passed 19 ms 0.83 ms 18 ms 0.18 ms Database 23
6 repeated
apps/projects/tests.py::RealProfileDocumentTest::test_processed
passed 19 ms 0.78 ms 17 ms 1 ms Database 13
3 repeated
apps/projects/tests.py::MemoryTest::test_stored_and_summed_per_day
passed 18 ms 0.93 ms 16 ms 0.65 ms Database 23
apps/projects/tests.py::SlugsAndNumbersTest::test_upsert_keeps_slugs_and_makes_them_unique
passed 17 ms 0.74 ms 14 ms 2 ms Database 16
6 repeated

Slowest fixtures

Exact setup time across the session
Fixture Scope Calls Total Max
_django_setup_unittest class 50 4.57 s 4.54 s
django_db_setup session 1 4.54 s 4.54 s
_unittest_setUpClass_fixture_ProjectPagesTest class 1 312 ms 312 ms
_unittest_setUpClass_fixture_ProfilePagePaginationTest class 1 272 ms 272 ms
_unittest_setUpClass_fixture_TestAccountSettings class 1 238 ms 238 ms
_unittest_setUpClass_fixture_McpTest class 1 216 ms 216 ms
_unittest_setUpClass_fixture_AnalyticsTest class 1 195 ms 195 ms
_unittest_setUpClass_fixture_RealProfileDocumentTest class 1 159 ms 159 ms
_unittest_setUpClass_fixture_MemoryTest class 1 95 ms 95 ms
_unittest_setUpClass_fixture_StorageTest class 1 95 ms 95 ms
_unittest_setUpClass_fixture_FlakyReportTest class 1 78 ms 78 ms
_unittest_setUpClass_fixture_LegacyUrlTest class 1 68 ms 68 ms
_unittest_setUpClass_fixture_FlakyReportCacheTest class 1 65 ms 65 ms
_unittest_setUpClass_fixture_ProjectRunsPage class 1 33 ms 33 ms
_unittest_setUpClass_fixture_SlugTest class 1 29 ms 29 ms