flakytest.dev anze3db fedidevs
Tests / confs/tests.py

TestCreateConference::test_slug_collision_is_resolved

First seen 3 weeks ago in 0c23747
CI github-actions:test 11 runs
Average
708 ms
median 593 ms
max 1.34 s
Phases
Setup 7 ms Call 701 ms Teardown 0.32 ms
Categories
Password hashing 564 ms Database 50 ms Factories 0.76 ms Test code 0.21 ms Other (Libraries, pytest, Deep copies, Unsampled, ...) 93 ms

29 database queries per run

Needs 31 KB of memory (max 132 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 7 hours ago · open run
Show pytest frames
setup1 ms0.2%
call602 ms99.8%
TestCreateConference.setUpconfs/tests.py:1044 self.user = User.objects.create_user("alice", password="pw")487 ms80.7%
UserManager.create_userdjango/contrib/auth/models.py:180487 ms80.7%
UserManager._create_userdjango/contrib/auth/models.py:167486 ms80.5%
UserManager._create_user_objectdjango/contrib/auth/models.py:160486 ms80.5%
make_passworddjango/contrib/auth/hashers.py:118486 ms80.5%
PBKDF2PasswordHasher.encodedjango/contrib/auth/hashers.py:333486 ms80.5%
pbkdf2django/utils/crypto.py:93486 ms80.5%
1 smaller frames hidden
TestCreateConference.test_slug_collision_is_resolvedconfs/tests.py:1111 self.client.post(reverse("create_conference"), self.form_data)102 ms17.0%
Client.postdjango/test/client.py:1162102 ms17.0%
RequestFactory.postdjango/test/client.py:499102 ms17.0%
RequestFactory.genericdjango/test/client.py:671102 ms17.0%
Client.requestdjango/test/client.py:1091102 ms17.0%
ClientHandler.__call__django/test/client.py:17352 ms8.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6352 ms8.7%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10452 ms8.7%
WhiteNoise.add_fileswhitenoise/base.py:10852 ms8.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12046 ms7.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13146 ms7.6%
WhiteNoise.get_static_filewhitenoise/base.py:21742 ms6.9%
StaticFile.__init__whitenoise/responders.py:7634 ms5.7%
StaticFile.get_not_modified_responsewhitenoise/responders.py:19033 ms5.5%
1 smaller frames hidden
StaticFile.__init__whitenoise/responders.py:735 ms0.9%
StaticFile.get_headerswhitenoise/responders.py:1784 ms0.7%
parsedate<stdlib>/email/_parseaddr.py:1854 ms0.7%
parsedate_tz<stdlib>/email/_parseaddr.py:504 ms0.7%
_parsedate_tz<stdlib>/email/_parseaddr.py:1173 ms0.5%
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
2 smaller frames hidden
WhiteNoise.update_files_dictionarywhitenoise/base.py:1156 ms1.0%
scantreewhitenoise/base.py:2715 ms0.9%
scantreewhitenoise/base.py:2713 ms0.5%
scantreewhitenoise/base.py:2733 ms0.5%
1 smaller frames hidden
ClientHandler.__call__django/test/client.py:18650 ms8.3%
BaseHandler.get_responsedjango/core/handlers/base.py:14250 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12350 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14550 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38050 ms8.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5650 ms8.3%
BaseHandler._get_responsedjango/core/handlers/base.py:19950 ms8.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6250 ms8.3%
create_conferenceconfs/views.py:48744 ms7.3%
unique_conference_slugconfs/views.py:475 while Conference.objects.filter(slug=slug).exists():44 ms7.3%
QuerySet.existsdjango/db/models/query.py:145842 ms6.9%
Query.has_resultsdjango/db/models/sql/query.py:68542 ms6.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:159341 ms6.8%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:161240 ms6.6%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:79640 ms6.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:57940 ms6.6%
WhereNode.as_sqldjango/db/models/sql/where.py:15140 ms6.6%
SQLCompiler.compiledjango/db/models/sql/compiler.py:57940 ms6.6%
Exact.as_sqldjango/db/models/lookups.py:40740 ms6.6%
BuiltinLookup.as_sqldjango/db/models/lookups.py:24340 ms6.6%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:23540 ms6.6%
Lookup.process_lhsdjango/db/models/lookups.py:10940 ms6.6%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:30740 ms6.6%
1 smaller frames hidden
1 smaller frames hidden
1 smaller frames hidden
create_conferenceconfs/views.py:485 if form.is_valid():4 ms0.7%
BaseForm.is_validdjango/forms/forms.py:2064 ms0.7%
BaseForm.errorsdjango/forms/forms.py:2014 ms0.7%
2 smaller frames hidden
TestCreateConference.test_slug_collision_is_resolvedconfs/tests.py:1106 self.client.force_login(self.user)6 ms1.0%
ClientMixin.force_logindjango/test/client.py:8586 ms1.0%
TestCreateConference.test_slug_collision_is_resolvedconfs/tests.py:1105 baker.make(Conference, slug="pycon-test")3 ms0.5%
makemodel_bakery/baker.py:1753 ms0.5%
Baker.makemodel_bakery/baker.py:4543 ms0.5%
3 smaller frames hidden
Estimated from 577 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

confs/tests.py:1044
self.user = User.objects.create_user("alice", password="pw")
TestCreateConference.setUp · Password hashing
487 ms
confs/tests.py:1111
self.client.post(reverse("create_conference"), self.form_data)
TestCreateConference.test_slug_collision_is_resolved · Libraries
52 ms
confs/views.py:475
while Conference.objects.filter(slug=slug).exists():
unique_conference_slug · Database
44 ms
confs/tests.py:1106
self.client.force_login(self.user)
TestCreateConference.test_slug_collision_is_resolved · Database
6 ms
confs/tests.py:1105
baker.make(Conference, slug="pycon-test")
TestCreateConference.test_slug_collision_is_resolved · Database
3 ms
confs/views.py:485
if form.is_valid():
create_conference · Libraries
3 ms
confs/views.py:428
if tags and len(tags) > MAX_CONFERENCE_TAGS:
ConferenceForm.clean_conference_tags · Database
1 ms
confs/views.py:497
conference.save()
create_conference · Database
1 ms
confs/views.py:498
form.save_m2m() # persist the selected conference_tags (icons)
create_conference · Database
1 ms
confs/tests.py:1109
self.captureOnCommitCallbacks(execute=True),
TestCreateConference.test_slug_collision_is_resolved · Libraries
1 ms

Fixtures

Exact setup time
_dj_autoclear_mailbox function 0.33 ms
_template_string_if_invalid_marker function 0.05 ms
_django_db_marker function 0.04 ms
_django_isolate_apps function 0.04 ms
_django_set_urlconf function 0.04 ms
_live_server_helper function 0.04 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

29 queries · 12 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

3×
SELECT %s AS "a" FROM "confs_conference" WHERE "confs_conference"."slug" = %s LIMIT ?

Biggest pieces of work

call setUp
confs/tests.py:1044
487 ms
call test body
confs/tests.py:1111
114 ms
setup pytest internals 1 ms
call _post_teardown
django/test/testcases.py:1243
1 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
7 hours ago CI github-actions:test passed 603 ms c28a326 main Profile
16 hours ago CI github-actions:test passed 331 ms 9b8826a main Profile
22 hours ago CI github-actions:test passed 585 ms 4f01055 main Profile
1 week, 5 days ago CI github-actions:test passed 694 ms 8ab642e main Profile
2 weeks, 2 days ago CI github-actions:test passed 490 ms 9b75244 main Profile
2 weeks, 2 days ago CI github-actions:test passed 564 ms 9603516 main Profile
2 weeks, 4 days ago CI github-actions:test passed 593 ms 615a272 main Profile
3 weeks ago CI github-actions:test passed 457 ms d923a46 main Profile
3 weeks ago CI github-actions:test passed 1.34 s 82997f8 main Profile
3 weeks ago CI github-actions:test passed 1.04 s 623aa3e main Profile
3 weeks ago CI github-actions:test passed 1.09 s ab6465a main Profile
3 weeks ago CI github-actions:test passed 811 ms 0c23747 main Run