Tests / starter_packs/tests.py
TestRemoteFollowStarterPack::test_mastodon_handle_is_told_to_log_in
First seen 13 hours ago in 0c23747
CI
github-actions:test
4 runs
Average
203 ms
median 241 ms
max 270 ms
max 270 ms
Phases
Setup 3 ms
Call 199 ms
Teardown 0.66 ms
Categories
Database 28 ms
Other (Mocking, Templates, pytest, Libraries, ...) 175 ms
12 database queries per run
Needs 12 KB of memory (max 24 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 8 hours ago ·
open run
setup0.66 ms1.1%
call59 ms98.5%
TestRemoteFollowStarterPack.test_mastodon_handle_is_told_to_log_instarter_packs/tests.py:1281 response = self.client.post(self.url, {"handle": "@[email protected]"}, follow=True)56 ms93.6%
Client.postdjango/test/client.py:116229 ms49.3%
RequestFactory.postdjango/test/client.py:49929 ms49.3%
RequestFactory.genericdjango/test/client.py:67129 ms49.3%
Client.requestdjango/test/client.py:109129 ms49.3%
ClientHandler.__call__django/test/client.py:17329 ms49.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6326 ms44.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10426 ms44.3%
WhiteNoise.add_fileswhitenoise/base.py:10826 ms44.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12015 ms24.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13115 ms24.6%
WhiteNoise.get_static_filewhitenoise/base.py:21712 ms19.7%
StaticFile.__init__whitenoise/responders.py:729 ms14.8%
StaticFile.get_file_statswhitenoise/responders.py:1619 ms14.8%
__init____init__:-19 ms14.8%
FileEntry.__init__whitenoise/responders.py:2609 ms14.8%
<GC>~9 ms14.8%
WhiteNoise.get_static_filewhitenoise/base.py:2113 ms4.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1159 ms14.8%
scantreewhitenoise/base.py:2716 ms9.9%
scantreewhitenoise/base.py:2716 ms9.9%
scantreewhitenoise/base.py:2693 ms4.9%
scantreewhitenoise/base.py:2733 ms4.9%
scantreewhitenoise/base.py:2693 ms4.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:973 ms4.9%
Client.postdjango/test/client.py:117226 ms44.3%
Client._handle_redirectsdjango/test/client.py:139326 ms44.3%
ClientMixin._follow_redirectdjango/test/client.py:101126 ms44.3%
Client.getdjango/test/client.py:113326 ms44.3%
RequestFactory.getdjango/test/client.py:47526 ms44.3%
RequestFactory.genericdjango/test/client.py:67126 ms44.3%
Client.requestdjango/test/client.py:109126 ms44.3%
ClientHandler.__call__django/test/client.py:18626 ms44.3%
BaseHandler.get_responsedjango/core/handlers/base.py:14226 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12326 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14526 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
MiddlewareMixin.__call__django/utils/deprecation.py:38026 ms44.3%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5626 ms44.3%
BaseHandler._get_responsedjango/core/handlers/base.py:19923 ms39.4%
share_starter_packstarter_packs/views.py:862 return render(15 ms24.6%
renderdjango/shortcuts.py:2712 ms19.7%
render_to_stringdjango/template/loader.py:6212 ms19.7%
Template.renderdjango/template/backends/django.py:10712 ms19.7%
Template.renderdjango/template/base.py:17512 ms19.7%
instrumented_test_renderdjango/test/utils.py:11312 ms19.7%
NodeList.renderdjango/template/base.py:110812 ms19.7%
Node.render_annotateddjango/template/base.py:106912 ms19.7%
ExtendsNode.renderdjango/template/loader_tags.py:1526 ms9.9%
NodeList.get_nodes_by_typedjango/template/base.py:11143 ms4.9%
instrumented_test_renderdjango/test/utils.py:1133 ms4.9%
NodeList.renderdjango/template/base.py:11083 ms4.9%
Node.render_annotateddjango/template/base.py:10693 ms4.9%
SimpleNode.renderdjango/template/library.py:3433 ms4.9%
heroicon_outlineheroicons/templatetags/heroicons.py:233 ms4.9%
_render_iconheroicons/templatetags/heroicons.py:413 ms4.9%
_render_iconheroicons/__init__.py:653 ms4.9%
tostring<stdlib>/xml/etree/ElementTree.py:11103 ms4.9%
ElementTree.write<stdlib>/xml/etree/ElementTree.py:7493 ms4.9%
_serialize_xml<stdlib>/xml/etree/ElementTree.py:9123 ms4.9%
ExtendsNode.renderdjango/template/loader_tags.py:1606 ms9.9%
instrumented_test_renderdjango/test/utils.py:1136 ms9.9%
NodeList.renderdjango/template/base.py:11086 ms9.9%
Node.render_annotateddjango/template/base.py:10696 ms9.9%
BlockNode.renderdjango/template/loader_tags.py:666 ms9.9%
NodeList.renderdjango/template/base.py:11086 ms9.9%
Node.render_annotateddjango/template/base.py:10696 ms9.9%
SimpleNode.renderdjango/template/library.py:3433 ms4.9%
render_language_emojisaccounts/templatetags/account_extras.py:27 f"<img src='{static(lang.image)}' class='emojione' alt=':{lang.code}:' title=':{lang.code}:' />",3 ms4.9%
staticdjango/templatetags/static.py:1793 ms4.9%
StaticNode.handle_simpledjango/templatetags/static.py:1293 ms4.9%
URLMixin.urldebug_toolbar/panels/staticfiles.py:203 ms4.9%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2353 ms4.9%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2163 ms4.9%
IfNode.renderdjango/template/defaulttags.py:3323 ms4.9%
Page.__len__django/core/paginator.py:3123 ms4.9%
QuerySet.__len__django/db/models/query.py:4213 ms4.9%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms4.9%
ModelIterable.__iter__django/db/models/query.py:1033 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16123 ms4.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7683 ms4.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:893 ms4.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:783 ms4.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2733 ms4.9%
SQLCompiler.get_select.<locals>.<genexpr>django/db/models/sql/compiler.py:2783 ms4.9%
renderdjango/shortcuts.py:283 ms4.9%
HttpResponse.__init__django/http/response.py:3893 ms4.9%
HttpResponse.contentdjango/http/response.py:4213 ms4.9%
HttpResponseBase.make_bytesdjango/http/response.py:3293 ms4.9%
share_starter_packstarter_packs/views.py:858 owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))3 ms4.9%
QuerySet.__iter__django/db/models/query.py:4393 ms4.9%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms4.9%
ModelIterable.__iter__django/db/models/query.py:1033 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.9%
Cursor.executepsycopg/cursor.py:1133 ms4.9%
Connection.waitpsycopg/connection.py:4953 ms4.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms4.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms4.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms4.9%
share_starter_packstarter_packs/views.py:860 header_avatars = pack_header_avatars([starter_pack.id], limit=18).get(starter_pack.id, [])3 ms4.9%
pack_header_avatarsstarter_packs/views.py:89 for pack_id, avatar, handle, name in rows:3 ms4.9%
QuerySet.__iter__django/db/models/query.py:4393 ms4.9%
QuerySet._fetch_alldjango/db/models/query.py:22623 ms4.9%
ValuesListIterable.__iter__django/db/models/query.py:2633 ms4.9%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15743 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms4.9%
Cursor.executepsycopg/cursor.py:1133 ms4.9%
Connection.waitpsycopg/connection.py:4953 ms4.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms4.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms4.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms4.9%
share_starter_packstarter_packs/views.py:886 .count(),3 ms4.9%
QuerySet.countdjango/db/models/query.py:6773 ms4.9%
Query.get_countdjango/db/models/sql/query.py:6573 ms4.9%
Query.get_aggregationdjango/db/models/sql/query.py:6393 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16123 ms4.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7683 ms4.9%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:893 ms4.9%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:783 ms4.9%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3193 ms4.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5793 ms4.9%
BaseHandler._get_responsedjango/core/handlers/base.py:1833 ms4.9%
BaseHandler.resolve_requestdjango/core/handlers/base.py:3153 ms4.9%
URLResolver.resolvedjango/urls/resolvers.py:6783 ms4.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()3 ms4.9%
TestCase._fixture_teardowndjango/test/testcases.py:14983 ms4.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4953 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1033 ms4.9%
Cursor.executepsycopg/cursor.py:1133 ms4.9%
Connection.waitpsycopg/connection.py:4953 ms4.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2063 ms4.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2863 ms4.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:783 ms4.9%
teardown0.22 ms0.4%
Estimated from 22 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
starter_packs/tests.py:1281
response = self.client.post(self.url, {"handle": "@[email protected]"}, follow=True)
TestRemoteFollowStarterPack.test_mastodon_handle_is_told_to_log_in
· Mocking
|
32 ms |
|
starter_packs/views.py:862
return render(
share_starter_pack
· Templates
|
12 ms |
|
starter_packs/views.py:858
owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))
share_starter_pack
· Database
|
3 ms |
|
starter_packs/views.py:89
for pack_id, avatar, handle, name in rows:
pack_header_avatars
· Database
|
3 ms |
|
starter_packs/views.py:886
.count(),
share_starter_pack
· Database
|
3 ms |
|
accounts/templatetags/account_extras.py:27
f"<img src='{static(lang.image)}' class='emojione' alt=':{lang.code}:' title=':{lang.code}:' />",
render_language_emojis
· Templates
|
3 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.04 ms |
| _template_string_if_invalid_marker function | 0.03 ms |
| _django_db_marker function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_isolate_apps function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_clear_site_cache function | 0.02 ms |
| monkeypatch function | 0.02 ms |
Database
12 queries · 5 msNo repeated queries.
Biggest pieces of work
|
call test body
starter_packs/tests.py:1281
|
56 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
3 ms |
| setup pytest internals | 0.66 ms |
| teardown pytest internals | 0.22 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 8 hours ago | CI github-actions:test | passed | 59 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 261 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 220 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 270 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 101 ms | Run |