flakytest.dev anze3db flakytest
Tests / apps/projects/tests.py

ProjectEditPage::test_invalid_form

First seen 2 years, 10 months ago in b9e98d9
CI github-actions:test 12 runs
Average
75 ms
median 81 ms
max 98 ms
Phases
Setup 17 ms Call 58 ms Teardown 0.17 ms
Categories
Database 48 ms App code 0.96 ms Password hashing 0.23 ms Other (Libraries, Templates, pytest, Unsampled) 26 ms

43 database queries per run

Needs 108 KB of memory (max 820 KB)

Duration per run

Where the time goes

Latest run in ci:github-actions:test, 16 hours ago · open run
Show pytest frames
setup17 ms19.3%
TestCase.setUpClassdjango/test/testcases.py:1423 cls.cls_atomics = cls._enter_atomics()9 ms10.2%
TestCase._enter_atomicsdjango/test/testcases.py:13969 ms10.2%
Atomic.__enter__django/db/transaction.py:1989 ms10.2%
BaseDatabaseWrapper.get_autocommitdjango/db/backends/base/base.py:4549 ms10.2%
SimpleTestCase.ensure_connection_patch_method.<locals>.patched_ensure_connectiondjango/test/testcases.py:3039 ms10.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms10.2%
BaseDatabaseWrapper.ensure_connectiondjango/db/backends/base/base.py:2799 ms10.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms10.2%
BaseDatabaseWrapper.connectdjango/db/backends/base/base.py:2569 ms10.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:269 ms10.2%
DatabaseWrapper.get_new_connectiondjango/db/backends/postgresql/base.py:3339 ms10.2%
Connection.connectpsycopg/connection.py:1099 ms10.2%
wait_connpsycopg/waiting.py:1454 ms4.6%
BaseConnection._connect_genpsycopg/_connection_base.py:4394 ms4.6%
wait_connpsycopg/waiting.py:1413 ms3.4%
EpollSelector.select<stdlib>/selectors.py:4523 ms3.4%
wait_connpsycopg/waiting.py:1362 ms2.3%
BaseConnection._connect_genpsycopg/_connection_base.py:4392 ms2.3%
TestCase.setUpClassdjango/test/testcases.py:1439 cls.setUpTestData()8 ms9.1%
ProjectEditPage.setUpTestDataapps/projects/tests.py:1406 ms6.8%
make_projectapps/projects/testing.py:712 ms2.3%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9870.97 ms1.1%
QuerySet.getdjango/db/models/query.py:6350.97 ms1.1%
QuerySet.__len__django/db/models/query.py:3720.97 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20000.97 ms1.1%
ModelIterable.__iter__django/db/models/query.py:950.97 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16240.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
QuerySet.get_or_createdjango/db/models/query.py:9920.97 ms1.1%
Atomic.__exit__django/db/transaction.py:2470.97 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:260.97 ms1.1%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4310.97 ms1.1%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3750.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1030.97 ms1.1%
Cursor.executepsycopg/cursor.py:1130.97 ms1.1%
Connection.waitpsycopg/connection.py:4950.97 ms1.1%
make_projectapps/projects/testing.py:620.97 ms1.1%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():0.97 ms1.1%
QuerySet.existsdjango/db/models/query.py:13370.97 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6810.97 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15920.97 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16240.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1050.97 ms1.1%
Cursor.executepsycopg/cursor.py:1130.97 ms1.1%
Connection.waitpsycopg/connection.py:4950.97 ms1.1%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(0.97 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:870.97 ms1.1%
QuerySet.createdjango/db/models/query.py:6690.97 ms1.1%
Model.savedjango/db/models/base.py:8740.97 ms1.1%
Model.save_basedjango/db/models/base.py:9660.97 ms1.1%
Model._save_tabledjango/db/models/base.py:11670.97 ms1.1%
Model._do_insertdjango/db/models/base.py:12180.97 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:870.97 ms1.1%
QuerySet._insertdjango/db/models/query.py:19180.97 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19250.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1050.97 ms1.1%
Cursor.executepsycopg/cursor.py:1130.97 ms1.1%
Connection.waitpsycopg/connection.py:4950.97 ms1.1%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),0.97 ms1.1%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():0.97 ms1.1%
QuerySet.existsdjango/db/models/query.py:13370.97 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6810.97 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15920.97 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16240.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1050.97 ms1.1%
Cursor.executepsycopg/cursor.py:1130.97 ms1.1%
Connection.waitpsycopg/connection.py:4950.97 ms1.1%
make_projectapps/projects/testing.py:64 project = Project.objects.create(0.97 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:870.97 ms1.1%
QuerySet.createdjango/db/models/query.py:6690.97 ms1.1%
Model.savedjango/db/models/base.py:8740.97 ms1.1%
Model.save_basedjango/db/models/base.py:9660.97 ms1.1%
Model._save_tabledjango/db/models/base.py:11670.97 ms1.1%
Model._do_insertdjango/db/models/base.py:12180.97 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:870.97 ms1.1%
QuerySet._insertdjango/db/models/query.py:19180.97 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19250.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1050.97 ms1.1%
Cursor.executepsycopg/cursor.py:1130.97 ms1.1%
Connection.waitpsycopg/connection.py:4950.97 ms1.1%
ProjectEditPage.setUpTestDataapps/projects/tests.py:139 cls.user = User.objects.create_user("testuser")2 ms2.3%
UserManager.create_userdjango/contrib/auth/models.py:1752 ms2.3%
UserManager._create_userdjango/contrib/auth/models.py:1620.97 ms1.1%
UserManager._create_user_objectdjango/contrib/auth/models.py:1540.97 ms1.1%
Model.__init__django/db/models/base.py:5690.97 ms1.1%
UserManager._create_userdjango/contrib/auth/models.py:1630.97 ms1.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:620.97 ms1.1%
Model.savedjango/db/models/base.py:8740.97 ms1.1%
Model.save_basedjango/db/models/base.py:9660.97 ms1.1%
Model._save_tabledjango/db/models/base.py:11670.97 ms1.1%
Model._do_insertdjango/db/models/base.py:12180.97 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:870.97 ms1.1%
QuerySet._insertdjango/db/models/query.py:19180.97 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19250.97 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:790.97 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:920.97 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1050.97 ms1.1%
Cursor.executepsycopg/cursor.py:1130.97 ms1.1%
Connection.waitpsycopg/connection.py:4950.97 ms1.1%
call69 ms80.5%
ProjectEditPage.test_invalid_formapps/projects/tests.py:169 response = self.client.post(self.project.url("project_edit"), {"name": "", "slug": self.project.slug})58 ms67.4%
Client.postdjango/test/client.py:115358 ms67.4%
RequestFactory.postdjango/test/client.py:49958 ms67.4%
RequestFactory.genericdjango/test/client.py:67158 ms67.4%
Client.requestdjango/test/client.py:108258 ms67.4%
ClientHandler.__call__django/test/client.py:18643 ms50.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14143 ms50.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms50.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13043 ms50.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms50.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30943 ms50.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms50.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12343 ms50.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5543 ms50.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30942 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30942 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30942 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30942 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30942 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30942 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3442 ms48.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5542 ms48.7%
BaseHandler._get_responsedjango/core/handlers/base.py:19842 ms48.7%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5942 ms48.7%
project_editapps/projects/urls.py:648 project.refresh_from_db() # an invalid form changed it in memory21 ms24.3%
Model.refresh_from_dbdjango/db/models/base.py:75818 ms20.6%
QuerySet.getdjango/db/models/query.py:63518 ms20.6%
QuerySet.__len__django/db/models/query.py:37218 ms20.6%
QuerySet._fetch_alldjango/db/models/query.py:200018 ms20.6%
ModelIterable.__iter__django/db/models/query.py:9518 ms20.6%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:162416 ms18.7%
CursorWrapper.executedjango/db/backends/utils.py:7916 ms18.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:9216 ms18.7%
CursorWrapper._executedjango/db/backends/utils.py:10516 ms18.7%
Cursor.executepsycopg/cursor.py:11316 ms18.7%
Connection.waitpsycopg/connection.py:49516 ms18.7%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3182 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.9%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.9%
Model.refresh_from_dbdjango/db/models/base.py:7742 ms1.9%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {2 ms1.9%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:2572 ms1.9%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:2202 ms1.9%
ForwardManyToOneDescriptor.get_querysetdjango/db/models/fields/related_descriptors.py:1702 ms1.9%
BaseManager.alldjango/db/models/manager.py:1642 ms1.9%
BaseManager.get_querysetdjango/db/models/manager.py:1552 ms1.9%
project_editapps/projects/urls.py:649 return render(request, "project.html", {**shell(request, project, "settings"), "form": form})21 ms24.3%
shellapps/projects/urls.py:71 return org_shell(request, project.organization if project else None, section) | {13 ms15.0%
ForwardManyToOneDescriptor.__get__django/db/models/fields/related_descriptors.py:25710 ms11.2%
ForwardManyToOneDescriptor.get_objectdjango/db/models/fields/related_descriptors.py:22210 ms11.2%
QuerySet.getdjango/db/models/query.py:6358 ms9.4%
QuerySet.__len__django/db/models/query.py:3728 ms9.4%
QuerySet._fetch_alldjango/db/models/query.py:20008 ms9.4%
ModelIterable.__iter__django/db/models/query.py:958 ms9.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16246 ms7.5%
CursorWrapper.executedjango/db/backends/utils.py:796 ms7.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:926 ms7.5%
CursorWrapper._executedjango/db/backends/utils.py:1056 ms7.5%
Cursor.executepsycopg/cursor.py:1136 ms7.5%
Connection.waitpsycopg/connection.py:4956 ms7.5%
BaseCursor._execute_genpsycopg/_cursor_base.py:2066 ms7.5%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2866 ms7.5%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:786 ms7.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms1.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms1.9%
QuerySet.getdjango/db/models/query.py:6252 ms1.9%
QuerySet.filterdjango/db/models/query.py:15422 ms1.9%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms1.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms1.9%
Query.add_qdjango/db/models/sql/query.py:16712 ms1.9%
Query._add_qdjango/db/models/sql/query.py:17032 ms1.9%
Query.build_filterdjango/db/models/sql/query.py:15282 ms1.9%
Query._add_qdjango/db/models/sql/query.py:17162 ms1.9%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms1.9%
QuerySet.__iter__django/db/models/query.py:3902 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:952 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
renderdjango/shortcuts.py:258 ms9.4%
render_to_stringdjango/template/loader.py:628 ms9.4%
Template.renderdjango/template/backends/django.py:1078 ms9.4%
Template.renderdjango/template/base.py:1748 ms9.4%
instrumented_test_renderdjango/test/utils.py:1148 ms9.4%
NodeList.renderdjango/template/base.py:10918 ms9.4%
Node.render_annotateddjango/template/base.py:10528 ms9.4%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms9.4%
instrumented_test_renderdjango/test/utils.py:1148 ms9.4%
NodeList.renderdjango/template/base.py:10918 ms9.4%
Node.render_annotateddjango/template/base.py:10528 ms9.4%
ExtendsNode.renderdjango/template/loader_tags.py:1608 ms9.4%
instrumented_test_renderdjango/test/utils.py:1148 ms9.4%
NodeList.renderdjango/template/base.py:10918 ms9.4%
Node.render_annotateddjango/template/base.py:10528 ms9.4%
BlockNode.renderdjango/template/loader_tags.py:668 ms9.4%
NodeList.renderdjango/template/base.py:10918 ms9.4%
Node.render_annotateddjango/template/base.py:10528 ms9.4%
BlockNode.renderdjango/template/loader_tags.py:666 ms7.5%
NodeList.renderdjango/template/base.py:10916 ms7.5%
Node.render_annotateddjango/template/base.py:10526 ms7.5%
VariableNode.renderdjango/template/base.py:11506 ms7.5%
FilterExpression.resolvedjango/template/base.py:7886 ms7.5%
Variable.resolvedjango/template/base.py:9286 ms7.5%
Variable._resolve_lookupdjango/template/base.py:10006 ms7.5%
RenderableFormMixin.as_divdjango/forms/utils.py:996 ms7.5%
RenderableMixin.renderdjango/forms/utils.py:556 ms7.5%
BaseRenderer.renderdjango/forms/renderers.py:285 ms5.6%
EngineMixin.get_templatedjango/forms/renderers.py:345 ms5.6%
DjangoTemplates.get_templatedjango/template/backends/django.py:795 ms5.6%
Engine.get_templatedjango/template/engine.py:1865 ms5.6%
Engine.find_templatedjango/template/engine.py:1595 ms5.6%
Loader.get_templatedjango/template/loaders/cached.py:575 ms5.6%
Loader.get_templatedjango/template/loaders/base.py:285 ms5.6%
__init____init__:-15 ms5.6%
Template.__init__django/template/base.py:1575 ms5.6%
Template.compile_nodelistdjango/template/base.py:1995 ms5.6%
Parser.parsedjango/template/base.py:5835 ms5.6%
do_fordjango/template/defaulttags.py:8935 ms5.6%
Parser.compile_filterdjango/template/base.py:6765 ms5.6%
__init____init__:-15 ms5.6%
FilterExpression.__init__django/template/base.py:7635 ms5.6%
__init____init__:-15 ms5.6%
Variable.__init__django/template/base.py:9065 ms5.6%
keep_lazy.<locals>.decorator.<locals>.wrapperdjango/utils/functional.py:2285 ms5.6%
<GC>~5 ms5.6%
BaseRenderer.renderdjango/forms/renderers.py:292 ms1.9%
Template.renderdjango/template/backends/django.py:1072 ms1.9%
Template.renderdjango/template/base.py:1742 ms1.9%
instrumented_test_renderdjango/test/utils.py:1142 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
ForNode.renderdjango/template/defaulttags.py:2492 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
VariableNode.renderdjango/template/base.py:11502 ms1.9%
FilterExpression.resolvedjango/template/base.py:7882 ms1.9%
Variable.resolvedjango/template/base.py:9282 ms1.9%
Variable._resolve_lookupdjango/template/base.py:10002 ms1.9%
RenderableFieldMixin.as_field_groupdjango/forms/utils.py:632 ms1.9%
RenderableMixin.renderdjango/forms/utils.py:552 ms1.9%
BaseRenderer.renderdjango/forms/renderers.py:292 ms1.9%
Template.renderdjango/template/backends/django.py:1072 ms1.9%
Template.renderdjango/template/base.py:1742 ms1.9%
instrumented_test_renderdjango/test/utils.py:1142 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
IfNode.renderdjango/template/defaulttags.py:3332 ms1.9%
NodeList.renderdjango/template/base.py:10912 ms1.9%
Node.render_annotateddjango/template/base.py:10522 ms1.9%
SimpleNode.renderdjango/template/library.py:3252 ms1.9%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms1.9%
_render_iconheroicons/templatetags/heroicons.py:392 ms1.9%
_render_iconheroicons/__init__.py:632 ms1.9%
tostring<stdlib>/xml/etree/ElementTree.py:11062 ms1.9%
ElementTree.write<stdlib>/xml/etree/ElementTree.py:7452 ms1.9%
_serialize_xml<stdlib>/xml/etree/ElementTree.py:9012 ms1.9%
MiddlewareMixin.__call__django/utils/deprecation.py:3112 ms1.9%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:592 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.9%
Atomic.__enter__django/db/transaction.py:2112 ms1.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.9%
ClientHandler.__call__django/test/client.py:17314 ms16.8%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6214 ms16.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10414 ms16.8%
WhiteNoise.add_fileswhitenoise/base.py:10814 ms16.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12011 ms13.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13110 ms11.2%
WhiteNoise.get_static_filewhitenoise/base.py:20810 ms11.2%
StaticFile.__init__whitenoise/responders.py:736 ms7.5%
StaticFile.get_headerswhitenoise/responders.py:1765 ms5.6%
formatdate<stdlib>/email/utils.py:2665 ms5.6%
format_datetime<stdlib>/email/utils.py:2842 ms1.9%
StaticFile.get_headerswhitenoise/responders.py:1672 ms1.9%
StaticFile.__init__whitenoise/responders.py:743 ms3.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms3.7%
scantreewhitenoise/base.py:2602 ms1.9%
scantreewhitenoise/base.py:2622 ms1.9%
scantreewhitenoise/base.py:2622 ms1.9%
scantreewhitenoise/base.py:2622 ms1.9%
scantreewhitenoise/base.py:2622 ms1.9%
scantreewhitenoise/base.py:2622 ms1.9%
scantreewhitenoise/base.py:2642 ms1.9%
ProjectEditPage.setUpapps/projects/tests.py:143 self.client.force_login(self.user)8 ms9.4%
ClientMixin.force_logindjango/test/client.py:8558 ms9.4%
ClientMixin._logindjango/test/client.py:8816 ms7.5%
logindjango/contrib/auth/__init__.py:1875 ms5.6%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4343 ms3.7%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms1.9%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms1.9%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms1.9%
QuerySet.existsdjango/db/models/query.py:13372 ms1.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.9%
Model.savedjango/db/models/base.py:8742 ms1.9%
Model.save_basedjango/db/models/base.py:9662 ms1.9%
Model._save_tabledjango/db/models/base.py:11672 ms1.9%
Model._do_insertdjango/db/models/base.py:12182 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.9%
QuerySet._insertdjango/db/models/query.py:19182 ms1.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.9%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms1.9%
QuerySet.getdjango/db/models/query.py:6352 ms1.9%
QuerySet.__len__django/db/models/query.py:3722 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms1.9%
ModelIterable.__iter__django/db/models/query.py:1272 ms1.9%
logindjango/contrib/auth/__init__.py:1972 ms1.9%
Signal.senddjango/dispatch/dispatcher.py:2092 ms1.9%
update_last_logindjango/contrib/auth/models.py:242 ms1.9%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:622 ms1.9%
Model.savedjango/db/models/base.py:8742 ms1.9%
Model.save_basedjango/db/models/base.py:9662 ms1.9%
Model._save_tabledjango/db/models/base.py:11102 ms1.9%
Model._do_updatedjango/db/models/base.py:12112 ms1.9%
QuerySet._updatedjango/db/models/query.py:13272 ms1.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
ClientMixin._logindjango/test/client.py:8832 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms1.9%
Model.savedjango/db/models/base.py:8742 ms1.9%
Model.save_basedjango/db/models/base.py:9662 ms1.9%
Model._save_tabledjango/db/models/base.py:11102 ms1.9%
Model._do_updatedjango/db/models/base.py:12112 ms1.9%
QuerySet._updatedjango/db/models/query.py:13272 ms1.9%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms1.9%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()2 ms1.9%
TestCase._fixture_setupdjango/test/testcases.py:14782 ms1.9%
TestCase._enter_atomicsdjango/test/testcases.py:13962 ms1.9%
Atomic.__enter__django/db/transaction.py:2112 ms1.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.9%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms1.9%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms1.9%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms1.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
Estimated from 60 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/projects/urls.py:648
project.refresh_from_db() # an invalid form changed it in memory
project_edit · Database
19 ms
apps/projects/tests.py:169
response = self.client.post(self.project.url("project_edit"), {"name": "", "slug": self.project.slug})
ProjectEditPage.test_invalid_form · Libraries
16 ms
apps/projects/urls.py:71
return org_shell(request, project.organization if project else None, section) | {
shell · Database
11 ms
apps/projects/urls.py:649
return render(request, "project.html", {**shell(request, project, "settings"), "form": form})
project_edit · Templates
8 ms
apps/projects/tests.py:143
self.client.force_login(self.user)
ProjectEditPage.setUp · Database
8 ms
apps/projects/tests.py:139
cls.user = User.objects.create_user("testuser")
ProjectEditPage.setUpTestData · Database
2 ms
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug · Database
2 ms
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member · Database
2 ms
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell · Database
2 ms
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell · Database
2 ms

Fixtures

Exact setup time
_unittest_setUpClass_fixture_ProjectEditPage class 15 ms
_django_setup_unittest class 0.27 ms
_django_set_urlconf function 0.06 ms
_dj_autoclear_mailbox function 0.04 ms
_django_db_marker function 0.04 ms
_template_string_if_invalid_marker function 0.04 ms
_live_server_helper function 0.03 ms
_django_clear_site_cache function 0.02 ms
monkeypatch function 0.02 ms

Database

43 queries · 16 ms

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

3×
SELECT "projects_project"."id", "projects_project"."organization_id", "projects_project"."name", "projects_project"."slug", "projects_project"."public", "projects_project"."description", "projects_project"."date_created", "projects_project"."date_updated", "projects_project"."created_by_id" FROM "p…

Biggest pieces of work

call test body
apps/projects/tests.py:169
58 ms
setup setUpClass
django/test/testcases.py:1423
17 ms
call setUp
apps/projects/tests.py:143
8 ms
call _pre_setup
django/test/testcases.py:1164
2 ms
call _post_teardown
django/test/testcases.py:1240
2 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
16 hours ago CI github-actions:test passed 86 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 42 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 81 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 67 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 98 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 62 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 81 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 80 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 79 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 96 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 46 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 84 ms 78a4357 main Profile