agent-harness / tasks /selection /R003_selection.json
cuber12's picture
Publish agent harness research code and paper artifacts
d61821a verified
Raw
History Blame Contribute Delete
278 kB
{
"audits": [
{
"commit": "f62dda7fa44e3bc46f03bd6402eba3f641f365eb",
"elapsed_seconds": 0.03730566706508398,
"parent": "befba35a16c5543c5f270996a9bf7a4277482915",
"reason": "no eligible unit-test file",
"source_changed_lines": 28,
"source_paths": [
"gitlab/mixins.py",
"gitlab/v4/objects/ldap.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/milestones.py",
"gitlab/v4/objects/repositories.py",
"gitlab/v4/objects/runners.py",
"gitlab/v4/objects/users.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: Use get_all keyword arg instead of all in docstrings",
"validation": null
},
{
"commit": "befba35a16c5543c5f270996a9bf7a4277482915",
"elapsed_seconds": 0.03562554204836488,
"parent": "9040dbe58e303d13abc75078abec892db17b065c",
"reason": "no eligible unit-test file",
"source_changed_lines": 65,
"source_paths": [
"gitlab/base.py",
"gitlab/mixins.py",
"gitlab/v4/cli.py",
"gitlab/v4/objects/ldap.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/milestones.py",
"gitlab/v4/objects/snippets.py",
"gitlab/v4/objects/users.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "Make RESTObjectList typing generic",
"validation": null
},
{
"commit": "9040dbe58e303d13abc75078abec892db17b065c",
"elapsed_seconds": 0.024384999880567193,
"parent": "a6ac9392b0e543df32adf9058f9808d199149982",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update pre-commit hook psf/black to v25",
"validation": null
},
{
"commit": "a6ac9392b0e543df32adf9058f9808d199149982",
"elapsed_seconds": 0.024466583039611578,
"parent": "2100aa458ba4f1c084bc97b00f7ba1693541d68a",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add reformat code commit to .git-blame-ignore-revs",
"validation": null
},
{
"commit": "2100aa458ba4f1c084bc97b00f7ba1693541d68a",
"elapsed_seconds": 0.03650916600599885,
"parent": "4e90c113f1af768b8b049f4a64c5978a1bfbf323",
"reason": "production file count exceeds 8",
"source_changed_lines": 528,
"source_paths": [
"gitlab/base.py",
"gitlab/cli.py",
"gitlab/client.py",
"gitlab/config.py",
"gitlab/mixins.py",
"gitlab/types.py",
"gitlab/utils.py",
"gitlab/v4/cli.py",
"gitlab/v4/objects/appearance.py",
"gitlab/v4/objects/applications.py",
"gitlab/v4/objects/artifacts.py",
"gitlab/v4/objects/badges.py",
"gitlab/v4/objects/broadcast_messages.py",
"gitlab/v4/objects/ci_lint.py",
"gitlab/v4/objects/cluster_agents.py",
"gitlab/v4/objects/clusters.py",
"gitlab/v4/objects/deploy_keys.py",
"gitlab/v4/objects/deploy_tokens.py",
"gitlab/v4/objects/deployments.py",
"gitlab/v4/objects/draft_notes.py",
"gitlab/v4/objects/environments.py",
"gitlab/v4/objects/epics.py",
"gitlab/v4/objects/features.py",
"gitlab/v4/objects/files.py",
"gitlab/v4/objects/geo_nodes.py",
"gitlab/v4/objects/group_access_tokens.py",
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/integrations.py",
"gitlab/v4/objects/invitations.py",
"gitlab/v4/objects/issues.py",
"gitlab/v4/objects/iterations.py",
"gitlab/v4/objects/job_token_scope.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/keys.py",
"gitlab/v4/objects/labels.py",
"gitlab/v4/objects/ldap.py",
"gitlab/v4/objects/merge_request_approvals.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/merge_trains.py",
"gitlab/v4/objects/milestones.py",
"gitlab/v4/objects/namespaces.py",
"gitlab/v4/objects/notification_settings.py",
"gitlab/v4/objects/package_protection_rules.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/pipelines.py",
"gitlab/v4/objects/project_access_tokens.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/push_rules.py",
"gitlab/v4/objects/registry_protection_repository_rules.py",
"gitlab/v4/objects/registry_protection_rules.py",
"gitlab/v4/objects/releases.py",
"gitlab/v4/objects/repositories.py",
"gitlab/v4/objects/resource_groups.py",
"gitlab/v4/objects/runners.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/service_accounts.py",
"gitlab/v4/objects/settings.py",
"gitlab/v4/objects/sidekiq.py",
"gitlab/v4/objects/snippets.py",
"gitlab/v4/objects/todos.py",
"gitlab/v4/objects/topics.py",
"gitlab/v4/objects/triggers.py",
"gitlab/v4/objects/users.py",
"gitlab/v4/objects/wikis.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/base/test_rest_object.py",
"tests/unit/objects/test_badges.py",
"tests/unit/objects/test_bridges.py",
"tests/unit/objects/test_bulk_imports.py",
"tests/unit/objects/test_commits.py",
"tests/unit/objects/test_environments.py",
"tests/unit/objects/test_groups.py",
"tests/unit/objects/test_hooks.py",
"tests/unit/objects/test_invitations.py",
"tests/unit/objects/test_job_token_scope.py",
"tests/unit/objects/test_jobs.py",
"tests/unit/objects/test_merge_requests.py",
"tests/unit/objects/test_packages.py",
"tests/unit/objects/test_personal_access_tokens.py",
"tests/unit/objects/test_project_import_export.py",
"tests/unit/objects/test_projects.py",
"tests/unit/objects/test_releases.py",
"tests/unit/objects/test_runners.py",
"tests/unit/objects/test_snippets.py",
"tests/unit/objects/test_templates.py",
"tests/unit/objects/test_todos.py",
"tests/unit/objects/test_topics.py",
"tests/unit/objects/test_variables.py",
"tests/unit/test_cli.py",
"tests/unit/test_gitlab.py",
"tests/unit/test_gitlab_auth.py",
"tests/unit/test_gitlab_http_methods.py",
"tests/unit/test_graphql.py"
],
"title": "chore: reformat code with skip_magic_trailing_comma = true",
"validation": null
},
{
"commit": "4e90c113f1af768b8b049f4a64c5978a1bfbf323",
"elapsed_seconds": 0.03654891601763666,
"parent": "91c4f18dc49a7eed101ce5f004f396436c6ef7eb",
"reason": "production file count exceeds 8",
"source_changed_lines": 1362,
"source_paths": [
"gitlab/__init__.py",
"gitlab/_backends/protocol.py",
"gitlab/_backends/requests_backend.py",
"gitlab/base.py",
"gitlab/cli.py",
"gitlab/client.py",
"gitlab/config.py",
"gitlab/exceptions.py",
"gitlab/mixins.py",
"gitlab/types.py",
"gitlab/utils.py",
"gitlab/v4/cli.py",
"gitlab/v4/objects/appearance.py",
"gitlab/v4/objects/artifacts.py",
"gitlab/v4/objects/bulk_imports.py",
"gitlab/v4/objects/clusters.py",
"gitlab/v4/objects/commits.py",
"gitlab/v4/objects/container_registry.py",
"gitlab/v4/objects/deploy_keys.py",
"gitlab/v4/objects/deployments.py",
"gitlab/v4/objects/environments.py",
"gitlab/v4/objects/epics.py",
"gitlab/v4/objects/features.py",
"gitlab/v4/objects/files.py",
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/invitations.py",
"gitlab/v4/objects/issues.py",
"gitlab/v4/objects/job_token_scope.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/keys.py",
"gitlab/v4/objects/labels.py",
"gitlab/v4/objects/ldap.py",
"gitlab/v4/objects/members.py",
"gitlab/v4/objects/merge_request_approvals.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/pipelines.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/releases.py",
"gitlab/v4/objects/repositories.py",
"gitlab/v4/objects/resource_groups.py",
"gitlab/v4/objects/runners.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/settings.py",
"gitlab/v4/objects/sidekiq.py",
"gitlab/v4/objects/snippets.py",
"gitlab/v4/objects/topics.py",
"gitlab/v4/objects/users.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/base/test_rest_object.py",
"tests/unit/helpers.py",
"tests/unit/meta/test_imports.py",
"tests/unit/meta/test_mro.py",
"tests/unit/test_cli.py"
],
"title": "use more python3.9 syntax",
"validation": null
},
{
"commit": "91c4f18dc49a7eed101ce5f004f396436c6ef7eb",
"elapsed_seconds": 0.035022292053326964,
"parent": "46dfc5098cf07355b1b6de6208aae4ec8ab5bf8a",
"reason": "production file count exceeds 8",
"source_changed_lines": 1201,
"source_paths": [
"gitlab/base.py",
"gitlab/client.py",
"gitlab/mixins.py",
"gitlab/v4/cli.py",
"gitlab/v4/objects/access_requests.py",
"gitlab/v4/objects/appearance.py",
"gitlab/v4/objects/applications.py",
"gitlab/v4/objects/artifacts.py",
"gitlab/v4/objects/audit_events.py",
"gitlab/v4/objects/award_emojis.py",
"gitlab/v4/objects/badges.py",
"gitlab/v4/objects/boards.py",
"gitlab/v4/objects/branches.py",
"gitlab/v4/objects/broadcast_messages.py",
"gitlab/v4/objects/bulk_imports.py",
"gitlab/v4/objects/ci_lint.py",
"gitlab/v4/objects/cluster_agents.py",
"gitlab/v4/objects/clusters.py",
"gitlab/v4/objects/commits.py",
"gitlab/v4/objects/container_registry.py",
"gitlab/v4/objects/custom_attributes.py",
"gitlab/v4/objects/deploy_keys.py",
"gitlab/v4/objects/deploy_tokens.py",
"gitlab/v4/objects/deployments.py",
"gitlab/v4/objects/discussions.py",
"gitlab/v4/objects/draft_notes.py",
"gitlab/v4/objects/environments.py",
"gitlab/v4/objects/epics.py",
"gitlab/v4/objects/events.py",
"gitlab/v4/objects/export_import.py",
"gitlab/v4/objects/features.py",
"gitlab/v4/objects/files.py",
"gitlab/v4/objects/geo_nodes.py",
"gitlab/v4/objects/group_access_tokens.py",
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/hooks.py",
"gitlab/v4/objects/integrations.py",
"gitlab/v4/objects/invitations.py",
"gitlab/v4/objects/issues.py",
"gitlab/v4/objects/iterations.py",
"gitlab/v4/objects/job_token_scope.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/keys.py",
"gitlab/v4/objects/labels.py",
"gitlab/v4/objects/ldap.py",
"gitlab/v4/objects/members.py",
"gitlab/v4/objects/merge_request_approvals.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/merge_trains.py",
"gitlab/v4/objects/milestones.py",
"gitlab/v4/objects/namespaces.py",
"gitlab/v4/objects/notes.py",
"gitlab/v4/objects/notification_settings.py",
"gitlab/v4/objects/package_protection_rules.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/pages.py",
"gitlab/v4/objects/personal_access_tokens.py",
"gitlab/v4/objects/pipelines.py",
"gitlab/v4/objects/project_access_tokens.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/push_rules.py",
"gitlab/v4/objects/registry_protection_repository_rules.py",
"gitlab/v4/objects/registry_protection_rules.py",
"gitlab/v4/objects/releases.py",
"gitlab/v4/objects/resource_groups.py",
"gitlab/v4/objects/reviewers.py",
"gitlab/v4/objects/runners.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/service_accounts.py",
"gitlab/v4/objects/settings.py",
"gitlab/v4/objects/sidekiq.py",
"gitlab/v4/objects/snippets.py",
"gitlab/v4/objects/statistics.py",
"gitlab/v4/objects/status_checks.py",
"gitlab/v4/objects/tags.py",
"gitlab/v4/objects/templates.py",
"gitlab/v4/objects/todos.py",
"gitlab/v4/objects/topics.py",
"gitlab/v4/objects/triggers.py",
"gitlab/v4/objects/users.py",
"gitlab/v4/objects/variables.py",
"gitlab/v4/objects/wikis.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/meta/test_abstract_attrs.py",
"tests/unit/meta/test_mro.py",
"tests/unit/mixins/test_meta_mixins.py",
"tests/unit/mixins/test_object_mixins_attributes.py",
"tests/unit/test_cli.py"
],
"title": "Make RESTManager generic on RESTObject class",
"validation": null
},
{
"commit": "46dfc5098cf07355b1b6de6208aae4ec8ab5bf8a",
"elapsed_seconds": 0.024659499991685152,
"parent": "e61157b99815e04a28d71be6ee12154ea8387967",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency isort to v6",
"validation": null
},
{
"commit": "e61157b99815e04a28d71be6ee12154ea8387967",
"elapsed_seconds": 0.024584917118772864,
"parent": "37ff25b1af6122b21a2620f9e866607b2ae1cf36",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency black to v25",
"validation": null
},
{
"commit": "37ff25b1af6122b21a2620f9e866607b2ae1cf36",
"elapsed_seconds": 0.024023875128477812,
"parent": "edd01a57aa8c45e6514e618263003beaa0fb68e8",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "edd01a57aa8c45e6514e618263003beaa0fb68e8",
"elapsed_seconds": 0.03466616687364876,
"parent": "515a8a259e1e8e893f42b060e975490571c4136f",
"reason": "production file count exceeds 8",
"source_changed_lines": 849,
"source_paths": [
"gitlab/client.py",
"gitlab/v4/objects/appearance.py",
"gitlab/v4/objects/audit_events.py",
"gitlab/v4/objects/award_emojis.py",
"gitlab/v4/objects/badges.py",
"gitlab/v4/objects/boards.py",
"gitlab/v4/objects/branches.py",
"gitlab/v4/objects/broadcast_messages.py",
"gitlab/v4/objects/bulk_imports.py",
"gitlab/v4/objects/ci_lint.py",
"gitlab/v4/objects/cluster_agents.py",
"gitlab/v4/objects/clusters.py",
"gitlab/v4/objects/commits.py",
"gitlab/v4/objects/container_registry.py",
"gitlab/v4/objects/custom_attributes.py",
"gitlab/v4/objects/deploy_keys.py",
"gitlab/v4/objects/deploy_tokens.py",
"gitlab/v4/objects/deployments.py",
"gitlab/v4/objects/discussions.py",
"gitlab/v4/objects/draft_notes.py",
"gitlab/v4/objects/environments.py",
"gitlab/v4/objects/epics.py",
"gitlab/v4/objects/events.py",
"gitlab/v4/objects/export_import.py",
"gitlab/v4/objects/geo_nodes.py",
"gitlab/v4/objects/group_access_tokens.py",
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/hooks.py",
"gitlab/v4/objects/integrations.py",
"gitlab/v4/objects/invitations.py",
"gitlab/v4/objects/issues.py",
"gitlab/v4/objects/job_token_scope.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/labels.py",
"gitlab/v4/objects/members.py",
"gitlab/v4/objects/merge_request_approvals.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/milestones.py",
"gitlab/v4/objects/namespaces.py",
"gitlab/v4/objects/notes.py",
"gitlab/v4/objects/notification_settings.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/pages.py",
"gitlab/v4/objects/personal_access_tokens.py",
"gitlab/v4/objects/pipelines.py",
"gitlab/v4/objects/project_access_tokens.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/push_rules.py",
"gitlab/v4/objects/releases.py",
"gitlab/v4/objects/resource_groups.py",
"gitlab/v4/objects/runners.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/settings.py",
"gitlab/v4/objects/snippets.py",
"gitlab/v4/objects/statistics.py",
"gitlab/v4/objects/tags.py",
"gitlab/v4/objects/templates.py",
"gitlab/v4/objects/topics.py",
"gitlab/v4/objects/triggers.py",
"gitlab/v4/objects/users.py",
"gitlab/v4/objects/variables.py",
"gitlab/v4/objects/wikis.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/meta/test_ensure_type_hints.py"
],
"title": "chore: Remove trivial get methods in preparation for generic Get mixin",
"validation": null
},
{
"commit": "515a8a259e1e8e893f42b060e975490571c4136f",
"elapsed_seconds": 0.03333412506617606,
"parent": "304bdd09cd5e6526576c5ec58cb3acd7e1a783cb",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.6.0",
"validation": null
},
{
"commit": "304bdd09cd5e6526576c5ec58cb3acd7e1a783cb",
"elapsed_seconds": 1.631805082783103,
"parent": "cfa6358b4c9c44d267d8c98a53ac840fbb27d3e8",
"reason": null,
"source_changed_lines": 24,
"source_paths": [
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/merge_request_approvals.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_001",
"test_paths": [
"tests/unit/objects/test_group_merge_request_approvals.py"
],
"title": "add support for group level MR approval rules",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.5992753328755498,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.44791741692461073,
"returncode": 0,
"stderr": "",
"stdout": "........................................................................ [ 19%]\ns..s.................................................................... [ 39%]\n........................................................................ [ 59%]\n........s............................................................... [ 79%]\n........................................................................ [ 99%]\n.. [100%]\n359 passed, 3 skipped in 0.27s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.48796916706487536,
"returncode": 1,
"stderr": "",
"stdout": " -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Group' object has no attribute 'approval_rules'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.groups.Group'> was created as a\nE `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n______________________ test_create_group_mr_approval_rule ______________________\n\ngroup = <Group id:1>\nresp_group_approval_rules = (<responses.RequestsMock object at 0x107559fd0>, {'include_newly_created_rule': False, 'updated_first_rule': False})\n\n def test_create_group_mr_approval_rule(group, resp_group_approval_rules):\n _, list_request_options = resp_group_approval_rules\n \n # Before: existing approval rules\n> approval_rules = group.approval_rules.list()\n\ntests/unit/objects/test_group_merge_request_approvals.py:229: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <Group id:1>, name = 'approval_rules'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Group' object has no attribute 'approval_rules'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.groups.Group'> was created as a\nE `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_group_merge_request_approvals.py::test_list_group_mr_approval_rules\nFAILED tests/unit/objects/test_group_merge_request_approvals.py::test_save_group_mr_approval_rule\nFAILED tests/unit/objects/test_group_merge_request_approvals.py::test_create_group_mr_approval_rule\n3 failed, 356 passed, 3 skipped in 0.30s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009530042065307498,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.600170416990295,
"returncode": 0,
"stderr": "",
"stdout": ".....................................................................s.. [ 20%]\ns....................................................................... [ 40%]\n........................................................................ [ 60%]\n.....s.................................................................. [ 80%]\n....................................................................... [100%]\n356 passed, 3 skipped in 0.41s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009731292026117444,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "cfa6358b4c9c44d267d8c98a53ac840fbb27d3e8",
"elapsed_seconds": 0.03758037509396672,
"parent": "0c1af08bc73611d288f1f67248cff9c32c685808",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.5.0",
"validation": null
},
{
"commit": "0c1af08bc73611d288f1f67248cff9c32c685808",
"elapsed_seconds": 0.028660875046625733,
"parent": "f4300782485ee6c38578fa3481061bd621656b0e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/objects/test_projects.py"
],
"title": "chore(tests): catch deprecation warnings",
"validation": null
},
{
"commit": "f4300782485ee6c38578fa3481061bd621656b0e",
"elapsed_seconds": 0.038960917154327035,
"parent": "7f6fd5c3aac5e2f18adf212adbce0ac04c7150e1",
"reason": "no eligible unit-test file",
"source_changed_lines": 42,
"source_paths": [
"gitlab/mixins.py",
"gitlab/utils.py",
"gitlab/v4/objects/artifacts.py",
"gitlab/v4/objects/files.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/repositories.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/snippets.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: relax typing constraints for response action",
"validation": null
},
{
"commit": "7f6fd5c3aac5e2f18adf212adbce0ac04c7150e1",
"elapsed_seconds": 0.03685970790684223,
"parent": "9e186726c8a5ae70ca49c56b2be09b34dbf5b642",
"reason": "no eligible unit-test file",
"source_changed_lines": 14,
"source_paths": [
"gitlab/v4/objects/projects.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add deprecation warning for mirror_pull functions",
"validation": null
},
{
"commit": "9e186726c8a5ae70ca49c56b2be09b34dbf5b642",
"elapsed_seconds": 0.02510970807634294,
"parent": "9b374b2c051f71b8ef10e22209b8e90730af9d9b",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: remove old pull mirror implementation",
"validation": null
},
{
"commit": "9b374b2c051f71b8ef10e22209b8e90730af9d9b",
"elapsed_seconds": 0.02502624993212521,
"parent": "3b31ade152eb61363a68cf0509867ff8738ccdaf",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: add usage of pull mirror",
"validation": null
},
{
"commit": "3b31ade152eb61363a68cf0509867ff8738ccdaf",
"elapsed_seconds": 0.025172292022034526,
"parent": "2411bff4fd1dab6a1dd70070441b52e9a2927a63",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add pull mirror test",
"validation": null
},
{
"commit": "2411bff4fd1dab6a1dd70070441b52e9a2927a63",
"elapsed_seconds": 0.032646749867126346,
"parent": "5c11203a8b281f6ab34f7e85073fadcfc395503c",
"reason": "no eligible unit-test file",
"source_changed_lines": 62,
"source_paths": [
"gitlab/v4/objects/projects.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add pull mirror class",
"validation": null
},
{
"commit": "5c11203a8b281f6ab34f7e85073fadcfc395503c",
"elapsed_seconds": 0.02507829200476408,
"parent": "30f470b1bb6876db815e8f6694583315a6a68778",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/objects/test_pull_mirror.py"
],
"title": "add pull mirror tests",
"validation": null
},
{
"commit": "30f470b1bb6876db815e8f6694583315a6a68778",
"elapsed_seconds": 0.03305608290247619,
"parent": "36d9b24ff27d8df514c1beebd0fff8ad000369b7",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.4.0",
"validation": null
},
{
"commit": "36d9b24ff27d8df514c1beebd0fff8ad000369b7",
"elapsed_seconds": 0.03253974998369813,
"parent": "175b355d84d54a71f15fe3601c5275dc35984b9b",
"reason": "no eligible unit-test file",
"source_changed_lines": 41,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "Narrow down return type of ProjectFileManager.raw using typing.overload",
"validation": null
},
{
"commit": "175b355d84d54a71f15fe3601c5275dc35984b9b",
"elapsed_seconds": 1.5817783339880407,
"parent": "de29503262b7626421f3bffeea3ff073e63e3865",
"reason": null,
"source_changed_lines": 57,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/status_checks.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_002",
"test_paths": [
"tests/unit/objects/test_status_checks.py"
],
"title": "add support for external status check",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.5484836669638753,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4453242919407785,
"returncode": 0,
"stderr": "",
"stdout": ".....................................................................s.. [ 20%]\ns....................................................................... [ 40%]\n........................................................................ [ 60%]\n.....s.................................................................. [ 80%]\n.................................................................... [100%]\n353 passed, 3 skipped in 0.27s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4627318340353668,
"returncode": 1,
"stderr": "",
"stdout": "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <Project id:1>, name = 'external_status_checks'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Project' object has no attribute 'external_status_checks'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.projects.Project'> was created as\nE a `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n______________________ test_delete_external_status_checks ______________________\n\ngl = <gitlab.client.Gitlab object at 0x109e53b50>\nresp_delete_external_status_checks = <responses.RequestsMock object at 0x10959c550>\n\n def test_delete_external_status_checks(gl, resp_delete_external_status_checks):\n> gl.projects.get(1, lazy=True).external_status_checks.delete(1)\n\ntests/unit/objects/test_status_checks.py:125: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <Project id:1>, name = 'external_status_checks'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Project' object has no attribute 'external_status_checks'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.projects.Project'> was created as\nE a `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_status_checks.py::test_list_external_status_checks\nFAILED tests/unit/objects/test_status_checks.py::test_create_external_status_checks\nFAILED tests/unit/objects/test_status_checks.py::test_delete_external_status_checks\n3 failed, 350 passed, 3 skipped in 0.29s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009339583804830909,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5773220839910209,
"returncode": 0,
"stderr": "",
"stdout": ".....................................................................s.. [ 20%]\ns....................................................................... [ 40%]\n........................................................................ [ 61%]\n.....s.................................................................. [ 81%]\n................................................................. [100%]\n350 passed, 3 skipped in 0.40s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009896458126604557,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "de29503262b7626421f3bffeea3ff073e63e3865",
"elapsed_seconds": 1.5622339588589966,
"parent": "939505b9c143939ba1e52c5cb920d8aa36596e19",
"reason": null,
"source_changed_lines": 9,
"source_paths": [
"gitlab/v4/objects/commits.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_003",
"test_paths": [
"tests/unit/objects/test_commits.py"
],
"title": "return the new commit when calling cherry_pick",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.528000291902572,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4328000000678003,
"returncode": 0,
"stderr": "",
"stdout": ".....................................................................s.. [ 20%]\ns....................................................................... [ 40%]\n........................................................................ [ 61%]\n.....s.................................................................. [ 81%]\n................................................................. [100%]\n350 passed, 3 skipped in 0.26s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4548883340321481,
"returncode": 1,
"stderr": "",
"stdout": ".......................................F.............................s.. [ 20%]\ns....................................................................... [ 40%]\n........................................................................ [ 61%]\n.....s.................................................................. [ 81%]\n................................................................. [100%]\n=================================== FAILURES ===================================\n___________________________ test_cherry_pick_commit ____________________________\n\nproject = <Project id:1>\nresp_commit = <responses.RequestsMock object at 0x11500ffd0>\n\n def test_cherry_pick_commit(project, resp_commit):\n commit = project.commits.get(\"6b2257ea\", lazy=True)\n cherry_pick_commit = commit.cherry_pick(branch=\"main\")\n \n> assert cherry_pick_commit[\"short_id\"] == \"8b090c1b\"\nE TypeError: 'NoneType' object is not subscriptable\n\ntests/unit/objects/test_commits.py:138: TypeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_commits.py::test_cherry_pick_commit - TypeErro...\n1 failed, 349 passed, 3 skipped in 0.28s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009581000078469515,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5749600841663778,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 40%]\n........................................................................ [ 61%]\n....s................................................................... [ 81%]\n................................................................ [100%]\n349 passed, 3 skipped in 0.39s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00916791707277298,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "939505b9c143939ba1e52c5cb920d8aa36596e19",
"elapsed_seconds": 0.02543841698206961,
"parent": "9214b8371652be2371823b6f3d531eeea78364c7",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "9214b8371652be2371823b6f3d531eeea78364c7",
"elapsed_seconds": 0.02499279100447893,
"parent": "e8d6953ec06dbbd817852207abbbc74eab8a27cf",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab",
"validation": null
},
{
"commit": "e8d6953ec06dbbd817852207abbbc74eab8a27cf",
"elapsed_seconds": 0.024344250094145536,
"parent": "accd5aa757ba5215497c278da50d48f10ea5a258",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(ci): set a 30 minute timeout for 'functional' tests",
"validation": null
},
{
"commit": "accd5aa757ba5215497c278da50d48f10ea5a258",
"elapsed_seconds": 0.024483291897922754,
"parent": "95db680d012d73e7e505ee85db7128050ff0db6e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: resolve DeprecationWarning message in CI run",
"validation": null
},
{
"commit": "95db680d012d73e7e505ee85db7128050ff0db6e",
"elapsed_seconds": 0.024870959110558033,
"parent": "0eb5eb0505c5b837a2d767cfa256a25b64ceb48b",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: fix pytest deprecation",
"validation": null
},
{
"commit": "0eb5eb0505c5b837a2d767cfa256a25b64ceb48b",
"elapsed_seconds": 0.024593207985162735,
"parent": "ba75c31e4d13927b6a3ab0ce427800d94e5eefb4",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: fix warning being generated",
"validation": null
},
{
"commit": "ba75c31e4d13927b6a3ab0ce427800d94e5eefb4",
"elapsed_seconds": 0.03259920794516802,
"parent": "cbd4263194fcbad9d6c11926862691f8df0dea6d",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/v4/objects/snippets.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: fix missing space in deprecation message",
"validation": null
},
{
"commit": "cbd4263194fcbad9d6c11926862691f8df0dea6d",
"elapsed_seconds": 0.0242551660630852,
"parent": "22f03bdc2bac92138225563415f5cf6fa36a5644",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "22f03bdc2bac92138225563415f5cf6fa36a5644",
"elapsed_seconds": 0.03296074992977083,
"parent": "fb07b5cfe1d986c3a7cd7879b11ecc43c75542b7",
"reason": "no eligible unit-test file",
"source_changed_lines": 1,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add optional ref parameter for cli project-file raw (python-gitlab",
"validation": null
},
{
"commit": "fb07b5cfe1d986c3a7cd7879b11ecc43c75542b7",
"elapsed_seconds": 1.5954932919703424,
"parent": "e4673d8aeaf97b9ad5d2500e459526b4cf494547",
"reason": null,
"source_changed_lines": 5,
"source_paths": [
"gitlab/client.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_004",
"test_paths": [
"tests/unit/objects/test_job_artifacts.py",
"tests/unit/test_gitlab_http_methods.py"
],
"title": "Add argument that appends extra HTTP headers to a request",
"validation": {
"commands": [
"python -m pytest -q tests/unit tests/unit/objects"
],
"elapsed_seconds": 1.5628152089193463,
"gold": [
{
"command": "python -m pytest -q tests/unit tests/unit/objects",
"elapsed_seconds": 0.4472388750873506,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 40%]\n........................................................................ [ 61%]\n....s................................................................... [ 81%]\n................................................................ [100%]\n349 passed, 3 skipped in 0.26s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit tests/unit/objects",
"elapsed_seconds": 0.47890033293515444,
"returncode": 1,
"stderr": "",
"stdout": "een executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('GET', 'http://localhost/api/v4/projects/1/jobs/123/artifacts')]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n____________________ test_job_artifact_download_bytes_range ____________________\n\ngl = <gitlab.client.Gitlab object at 0x109354410>\nbinary_content = b'binary content'\nresp_job_artifact_bytes_range = <responses.RequestsMock object at 0x10935ddd0>\n\n def test_job_artifact_download_bytes_range(\n gl, binary_content, resp_job_artifact_bytes_range\n ):\n project = gl.projects.get(1, lazy=True)\n job = project.jobs.get(123, lazy=True)\n \n> artifacts = job.artifacts(extra_headers={\"Range\": \"bytes=0-9\"})\n\ntests/unit/objects/test_job_artifacts.py:71: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \ngitlab/cli.py:70: in wrapped_f\n return f(*args, **kwargs)\ngitlab/exceptions.py:344: in wrapped_f\n return f(*args, **kwargs)\ngitlab/v4/objects/jobs.py:194: in artifacts\n result = self.manager.gitlab.http_get(\ngitlab/client.py:808: in http_get\n result = self.http_request(\ngitlab/client.py:732: in http_request\n result = self._backend.http_request(\ngitlab/_backends/requests_backend.py:157: in http_request\n response: requests.Response = self._client.request(\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/requests/sessions.py:589: in request\n resp = self.send(prep, **send_kwargs)\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/requests/sessions.py:703: in send\n r = adapter.send(request, **kwargs)\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1202: in send\n return self._on_request(adapter, request, **kwargs)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x10935ddd0>\nadapter = <requests.adapters.HTTPAdapter object at 0x1093c7510>\nrequest = <PreparedRequest [GET]>, retries = None\nkwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, ...}\nmatch = None\nmatch_failed_reasons = [\"Headers do not match: {} doesn't match {'Range': 'bytes=0-9'}\"]\nresp_callback = None\nerror_msg = \"Connection refused by Responses - the call doesn't match any registered mock.\\n\\nRequest: \\n- GET http://localhost/ap... http://localhost/api/v4/projects/1/jobs/123/artifacts Headers do not match: {} doesn't match {'Range': 'bytes=0-9'}\\n\"\ni = 0\nm = <Response(url='http://localhost/api/v4/projects/1/jobs/123/artifacts' status=206 content_type='application/octet-stream' headers='null')>\n\n def _on_request(\n self,\n adapter: \"HTTPAdapter\",\n request: \"PreparedRequest\",\n *,\n retries: Optional[\"_Retry\"] = None,\n **kwargs: Any,\n ) -> \"models.Response\":\n # add attributes params and req_kwargs to 'request' object for further match comparison\n # original request object does not have these attributes\n request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined]\n request.req_kwargs = kwargs # type: ignore[attr-defined]\n request_url = str(request.url)\n request.body = self._read_filelike_body(request.body)\n \n match, match_failed_reasons = self._find_match(request)\n resp_callback = self.response_callback\n \n if match is None:\n if any(\n [\n p.match(request_url)\n if isinstance(p, Pattern)\n else request_url.startswith(p)\n for p in self.passthru_prefixes\n ]\n ):\n logger.info(\"request.allowed-passthru\", extra={\"url\": request_url})\n return self._real_send(adapter, request, **kwargs) # type: ignore\n \n error_msg = (\n \"Connection refused by Responses - the call doesn't \"\n \"match any registered mock.\\n\\n\"\n \"Request: \\n\"\n f\"- {request.method} {request_url}\\n\\n\"\n \"Available matches:\\n\"\n )\n for i, m in enumerate(self.registered()):\n error_msg += \"- {} {} {}\\n\".format(\n m.method, m.url, match_failed_reasons[i]\n )\n \n if self.passthru_prefixes:\n error_msg += \"Passthru prefixes:\\n\"\n for p in self.passthru_prefixes:\n error_msg += f\"- {p}\\n\"\n \n response = ConnectionError(error_msg)\n response.request = request\n \n self._calls.add(request, response)\n> raise response\nE requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock.\nE \nE Request: \nE - GET http://localhost/api/v4/projects/1/jobs/123/artifacts?extra_headers%5BRange%5D=bytes%3D0-9\nE \nE Available matches:\nE - GET http://localhost/api/v4/projects/1/jobs/123/artifacts Headers do not match: {} doesn't match {'Range': 'bytes=0-9'}\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1129: ConnectionError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_job_artifacts.py::test_job_artifact_download_bytes_range\nERROR tests/unit/objects/test_job_artifacts.py::test_job_artifact_download_bytes_range\n1 failed, 348 passed, 3 skipped, 1 error in 0.30s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009702750016003847,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit tests/unit/objects",
"elapsed_seconds": 0.5725481668487191,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 41%]\n........................................................................ [ 61%]\n...s.................................................................... [ 82%]\n............................................................... [100%]\n348 passed, 3 skipped in 0.39s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009480291046202183,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "e4673d8aeaf97b9ad5d2500e459526b4cf494547",
"elapsed_seconds": 0.02767500001937151,
"parent": "2dda9dc149668a99211daaa1981bb1f422c63880",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(test): prevent 'job_with_artifact' fixture running forever",
"validation": null
},
{
"commit": "2dda9dc149668a99211daaa1981bb1f422c63880",
"elapsed_seconds": 0.02518016705289483,
"parent": "671e711c341d28ae0bc61ccb12d2e986353473fd",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "ci: use gitlab-runner:v17.7.1 for the CI",
"validation": null
},
{
"commit": "671e711c341d28ae0bc61ccb12d2e986353473fd",
"elapsed_seconds": 0.03327854094095528,
"parent": "e3cb806dc368af0a495087531ee94892d3f240ce",
"reason": "no eligible unit-test file",
"source_changed_lines": 104,
"source_paths": [
"gitlab/const.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update mypy to 1.14 and resolve issues",
"validation": null
},
{
"commit": "e3cb806dc368af0a495087531ee94892d3f240ce",
"elapsed_seconds": 0.033933499827980995,
"parent": "1e95944119455875bd239752cdf0fe5cc27707ea",
"reason": "no eligible unit-test file",
"source_changed_lines": 14,
"source_paths": [
"gitlab/v4/objects/files.py",
"gitlab/v4/objects/issues.py",
"gitlab/v4/objects/labels.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "Make type ignores more specific where possible",
"validation": null
},
{
"commit": "1e95944119455875bd239752cdf0fe5cc27707ea",
"elapsed_seconds": 0.024537833873182535,
"parent": "44fd9dc1176a2c5529c45cc3186c0e775026175e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.7.1-ee.0",
"validation": null
},
{
"commit": "44fd9dc1176a2c5529c45cc3186c0e775026175e",
"elapsed_seconds": 0.03324920800514519,
"parent": "e4c5c74fbe98b92e575d29e929dae112b87f0fb2",
"reason": "no eligible unit-test file",
"source_changed_lines": 533,
"source_paths": [
"gitlab/mixins.py",
"gitlab/v4/objects/artifacts.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/repositories.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/snippets.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "Narrow down return type of download methods using typing.overload",
"validation": null
},
{
"commit": "e4c5c74fbe98b92e575d29e929dae112b87f0fb2",
"elapsed_seconds": 0.024669749895110726,
"parent": "912e1a0620a96c56081ffec284c2cac871cb7626",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.3.1",
"validation": null
},
{
"commit": "912e1a0620a96c56081ffec284c2cac871cb7626",
"elapsed_seconds": 0.03274112497456372,
"parent": "8c1aaa3f6a797caf7bd79a7da083eae56c6250ff",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: bump to 5.3.1",
"validation": null
},
{
"commit": "8c1aaa3f6a797caf7bd79a7da083eae56c6250ff",
"elapsed_seconds": 1.6010427509900182,
"parent": "f4f7d7a63716f072eb45db2c7f590db0435350f0",
"reason": null,
"source_changed_lines": 45,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/registry_protection_repository_rules.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_005",
"test_paths": [
"tests/unit/objects/test_registry_protection_rules.py"
],
"title": "fix api url",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.568030667025596,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.44028154108673334,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 41%]\n........................................................................ [ 61%]\n...s.................................................................... [ 82%]\n............................................................... [100%]\n348 passed, 3 skipped in 0.27s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4887023330666125,
"returncode": 1,
"stderr": "",
"stdout": "because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Project' object has no attribute 'registry_protection_repository_rules'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.projects.Project'> was created as\nE a `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n____________________ test_update_project_protected_registry ____________________\n\nproject = <Project id:1>\nresp_update_protected_registry = <responses.RequestsMock object at 0x10bd5a8d0>\n\n def test_update_project_protected_registry(project, resp_update_protected_registry):\n> updated = project.registry_protection_repository_rules.update(\n 1, {\"repository_path_pattern\": \"abc*\"}\n )\n\ntests/unit/objects/test_registry_protection_rules.py:79: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <Project id:1>, name = 'registry_protection_repository_rules'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Project' object has no attribute 'registry_protection_repository_rules'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.projects.Project'> was created as\nE a `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_registry_protection_rules.py::test_list_project_protected_registries\nFAILED tests/unit/objects/test_registry_protection_rules.py::test_create_project_protected_registry\nFAILED tests/unit/objects/test_registry_protection_rules.py::test_update_project_protected_registry\nERROR tests/unit/objects/test_registry_protection_rules.py::test_list_project_protected_registries\nERROR tests/unit/objects/test_registry_protection_rules.py::test_create_project_protected_registry\nERROR tests/unit/objects/test_registry_protection_rules.py::test_update_project_protected_registry\n3 failed, 345 passed, 3 skipped, 3 errors in 0.32s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009433583123609424,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5756600829772651,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 41%]\n........................................................................ [ 61%]\n...s.................................................................... [ 82%]\n............................................................... [100%]\n348 passed, 3 skipped in 0.40s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009936083108186722,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "f4f7d7a63716f072eb45db2c7f590db0435350f0",
"elapsed_seconds": 0.03472137497738004,
"parent": "01d41946cbb1a4e5f29752eac89239d635c2ec6f",
"reason": "no eligible unit-test file",
"source_changed_lines": 1,
"source_paths": [
"gitlab/client.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "allow configuration of keep_base_url from file",
"validation": null
},
{
"commit": "01d41946cbb1a4e5f29752eac89239d635c2ec6f",
"elapsed_seconds": 0.025069083087146282,
"parent": "c2582cf03b5dd4f3668195c13ae85ca14d755ec3",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency jinja2 to v3.1.5 [security]",
"validation": null
},
{
"commit": "c2582cf03b5dd4f3668195c13ae85ca14d755ec3",
"elapsed_seconds": 0.03298725001513958,
"parent": "62b7eb7ca0adcb26912f9c0561de5c513b6ede6d",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.3.0",
"validation": null
},
{
"commit": "62b7eb7ca0adcb26912f9c0561de5c513b6ede6d",
"elapsed_seconds": 0.024682125076651573,
"parent": "aa074496bdc4390a3629f1b0964d9846fe08ad92",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.7.0-ee.0",
"validation": null
},
{
"commit": "aa074496bdc4390a3629f1b0964d9846fe08ad92",
"elapsed_seconds": 0.0245196670293808,
"parent": "40af1c8a14814cb0034dfeaaa33d8c38504fe34e",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(renovate): update httpx and respx again",
"validation": null
},
{
"commit": "40af1c8a14814cb0034dfeaaa33d8c38504fe34e",
"elapsed_seconds": 1.3594288739841431,
"parent": "9439132b1df39fbf386e5ee4d8354e78f549e109",
"reason": null,
"source_changed_lines": 42,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/registry_repository_protection_rules.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_006",
"test_paths": [
"tests/unit/objects/test_registry_protection_rules.py"
],
"title": "support the new registry protection rule endpoint",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.3263617909979075,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.43539245892316103,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 41%]\n........................................................................ [ 61%]\n...s.................................................................... [ 82%]\n............................................................... [100%]\n348 passed, 3 skipped in 0.27s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.2516879579052329,
"returncode": 2,
"stderr": "",
"stdout": "\n==================================== ERRORS ====================================\n____ ERROR collecting tests/unit/objects/test_registry_protection_rules.py _____\nImportError while importing test module '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-f14wqt0n/tree/tests/unit/objects/test_registry_protection_rules.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/opt/homebrew/Cellar/python@3.11/3.11.15_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/unit/objects/test_registry_protection_rules.py:8: in <module>\n from gitlab.v4.objects import ProjectRegistryRepositoryProtectionRule\nE ImportError: cannot import name 'ProjectRegistryRepositoryProtectionRule' from 'gitlab.v4.objects' (/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-f14wqt0n/tree/gitlab/v4/objects/__init__.py)\n=========================== short test summary info ============================\nERROR tests/unit/objects/test_registry_protection_rules.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.08s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009637792129069567,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5765780000947416,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 41%]\n........................................................................ [ 61%]\n...s.................................................................... [ 82%]\n............................................................... [100%]\n348 passed, 3 skipped in 0.40s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009424916934221983,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "9439132b1df39fbf386e5ee4d8354e78f549e109",
"elapsed_seconds": 0.033080791123211384,
"parent": "1e02f232278a85f818230b8931e2627c80a50e38",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.2.0",
"validation": null
},
{
"commit": "1e02f232278a85f818230b8931e2627c80a50e38",
"elapsed_seconds": 0.02489091595634818,
"parent": "db0db26734533d1a95225dc1a5dd2ae0b03c6053",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "db0db26734533d1a95225dc1a5dd2ae0b03c6053",
"elapsed_seconds": 0.024456374812871218,
"parent": "6532e8c7a9114f5abbfd610c65bd70d09576b146",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.6.2-ee.0",
"validation": null
},
{
"commit": "6532e8c7a9114f5abbfd610c65bd70d09576b146",
"elapsed_seconds": 0.023812250001356006,
"parent": "b70830dd3ad76ff537a1f81e9f69de72271a2305",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "b70830dd3ad76ff537a1f81e9f69de72271a2305",
"elapsed_seconds": 0.02794208307750523,
"parent": "0d41da3cc8724ded8a3855409cf9c5d776a7f491",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(renovate): pin httpx until respx is fixed",
"validation": null
},
{
"commit": "0d41da3cc8724ded8a3855409cf9c5d776a7f491",
"elapsed_seconds": 1.3604535828344524,
"parent": "735efff88cc8d59021cb5a746ba70b66548e7662",
"reason": null,
"source_changed_lines": 118,
"source_paths": [
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/templates.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_007",
"test_paths": [
"tests/unit/objects/test_templates.py"
],
"title": "add project templates",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.3271239169407636,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4486785000190139,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 20%]\n........................................................................ [ 41%]\n........................................................................ [ 61%]\n...s.................................................................... [ 82%]\n............................................................... [100%]\n348 passed, 3 skipped in 0.27s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.25041304086335003,
"returncode": 2,
"stderr": "",
"stdout": "\n==================================== ERRORS ====================================\n____________ ERROR collecting tests/unit/objects/test_templates.py _____________\nImportError while importing test module '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-c9j0pu4t/tree/tests/unit/objects/test_templates.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/opt/homebrew/Cellar/python@3.11/3.11.15_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/unit/objects/test_templates.py:13: in <module>\n from gitlab.v4.objects import (\nE ImportError: cannot import name 'ProjectDockerfileTemplate' from 'gitlab.v4.objects' (/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-c9j0pu4t/tree/gitlab/v4/objects/__init__.py)\n=========================== short test summary info ============================\nERROR tests/unit/objects/test_templates.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.08s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009701250120997429,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5652419591788203,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n...s.................................................................... [ 84%]\n..................................................... [100%]\n338 passed, 3 skipped in 0.39s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.0090182910207659,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "735efff88cc8d59021cb5a746ba70b66548e7662",
"elapsed_seconds": 0.026642582844942808,
"parent": "9306362a14cae32b13f59630ea9a964783fa8de8",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update codecov/codecov-action action to v5",
"validation": null
},
{
"commit": "9306362a14cae32b13f59630ea9a964783fa8de8",
"elapsed_seconds": 0.024701083078980446,
"parent": "a8518f1644b32039571afb4172738dcde169bec0",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency commitizen to v4",
"validation": null
},
{
"commit": "a8518f1644b32039571afb4172738dcde169bec0",
"elapsed_seconds": 0.024905791971832514,
"parent": "f460d95cbbb6fcf8d10bc70f53299438843032fd",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update pre-commit hook commitizen-tools/commitizen to v4",
"validation": null
},
{
"commit": "f460d95cbbb6fcf8d10bc70f53299438843032fd",
"elapsed_seconds": 0.02481404086574912,
"parent": "288f39c828eb6abd8f05744803142beffed3f288",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs(api-usage): fix link to Gitlab REST API Authentication Docs",
"validation": null
},
{
"commit": "288f39c828eb6abd8f05744803142beffed3f288",
"elapsed_seconds": 3.1849911250174046,
"parent": "804638777f22b23a8b9ea54ffce19852ea6d9366",
"reason": "selected public tests fail at base",
"source_changed_lines": 161,
"source_paths": [
"gitlab/__init__.py",
"gitlab/_backends/graphql.py",
"gitlab/client.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/test_graphql.py"
],
"title": "add async client",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 3.151275333017111,
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 3.1075822920538485,
"returncode": 1,
"stderr": "",
"stdout": "l = 'https://gitlab.example.com'\n\n def __init__(\n self,\n url: Optional[str] = None,\n *,\n token: Optional[str] = None,\n ssl_verify: Union[bool, str] = True,\n client: Optional[httpx.Client] = None,\n timeout: Optional[float] = None,\n user_agent: str = gitlab.const.USER_AGENT,\n fetch_schema_from_transport: bool = False,\n max_retries: int = 10,\n obey_rate_limit: bool = True,\n retry_transient_errors: bool = False,\n ) -> None:\n if not _GQL_INSTALLED:\n> raise ImportError(\n \"The GraphQL client could not be initialized because \"\n \"the gql dependencies are not installed. \"\n \"Install them with 'pip install python-gitlab[graphql]'\"\n )\nE ImportError: The GraphQL client could not be initialized because the gql dependencies are not installed. Install them with 'pip install python-gitlab[graphql]'\n\ngitlab/client.py:1297: ImportError\n____________ ERROR at setup of test_graphql_raises_on_401_response _____________\n\n @pytest.fixture\n def gl_gql() -> gitlab.GraphQL:\n> return gitlab.GraphQL(\"https://gitlab.example.com\")\n\ntests/unit/test_graphql.py:10: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <gitlab.client.GraphQL object at 0x1135cfd10>\nurl = 'https://gitlab.example.com'\n\n def __init__(\n self,\n url: Optional[str] = None,\n *,\n token: Optional[str] = None,\n ssl_verify: Union[bool, str] = True,\n client: Optional[httpx.Client] = None,\n timeout: Optional[float] = None,\n user_agent: str = gitlab.const.USER_AGENT,\n fetch_schema_from_transport: bool = False,\n max_retries: int = 10,\n obey_rate_limit: bool = True,\n retry_transient_errors: bool = False,\n ) -> None:\n if not _GQL_INSTALLED:\n> raise ImportError(\n \"The GraphQL client could not be initialized because \"\n \"the gql dependencies are not installed. \"\n \"Install them with 'pip install python-gitlab[graphql]'\"\n )\nE ImportError: The GraphQL client could not be initialized because the gql dependencies are not installed. Install them with 'pip install python-gitlab[graphql]'\n\ngitlab/client.py:1297: ImportError\n=================================== FAILURES ===================================\n____________________ test_graphql_as_context_manager_exits _____________________\n\n def test_graphql_as_context_manager_exits():\n> with gitlab.GraphQL() as gl:\n\ntests/unit/test_graphql.py:20: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <gitlab.client.GraphQL object at 0x1134bb490>, url = None\n\n def __init__(\n self,\n url: Optional[str] = None,\n *,\n token: Optional[str] = None,\n ssl_verify: Union[bool, str] = True,\n client: Optional[httpx.Client] = None,\n timeout: Optional[float] = None,\n user_agent: str = gitlab.const.USER_AGENT,\n fetch_schema_from_transport: bool = False,\n max_retries: int = 10,\n obey_rate_limit: bool = True,\n retry_transient_errors: bool = False,\n ) -> None:\n if not _GQL_INSTALLED:\n> raise ImportError(\n \"The GraphQL client could not be initialized because \"\n \"the gql dependencies are not installed. \"\n \"Install them with 'pip install python-gitlab[graphql]'\"\n )\nE ImportError: The GraphQL client could not be initialized because the gql dependencies are not installed. Install them with 'pip install python-gitlab[graphql]'\n\ngitlab/client.py:1297: ImportError\n________________ test_graphql_raises_when_max_retries_exceeded _________________\n\nrespx_mock = <respx.router.MockRouter object at 0x108f49550>\n\n def test_graphql_raises_when_max_retries_exceeded(respx_mock: respx.MockRouter):\n url = \"https://gitlab.example.com/api/graphql\"\n responses = [\n httpx.Response(502),\n httpx.Response(502),\n httpx.Response(502),\n ]\n respx_mock.post(url).mock(side_effect=responses)\n \n> gl_gql = gitlab.GraphQL(\n \"https://gitlab.example.com\", max_retries=1, retry_transient_errors=True\n )\n\ntests/unit/test_graphql.py:47: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <gitlab.client.GraphQL object at 0x1135a7590>\nurl = 'https://gitlab.example.com'\n\n def __init__(\n self,\n url: Optional[str] = None,\n *,\n token: Optional[str] = None,\n ssl_verify: Union[bool, str] = True,\n client: Optional[httpx.Client] = None,\n timeout: Optional[float] = None,\n user_agent: str = gitlab.const.USER_AGENT,\n fetch_schema_from_transport: bool = False,\n max_retries: int = 10,\n obey_rate_limit: bool = True,\n retry_transient_errors: bool = False,\n ) -> None:\n if not _GQL_INSTALLED:\n> raise ImportError(\n \"The GraphQL client could not be initialized because \"\n \"the gql dependencies are not installed. \"\n \"Install them with 'pip install python-gitlab[graphql]'\"\n )\nE ImportError: The GraphQL client could not be initialized because the gql dependencies are not installed. Install them with 'pip install python-gitlab[graphql]'\n\ngitlab/client.py:1297: ImportError\n=========================== short test summary info ============================\nFAILED tests/unit/test_graphql.py::test_graphql_as_context_manager_exits - Im...\nFAILED tests/unit/test_graphql.py::test_graphql_raises_when_max_retries_exceeded\nERROR tests/unit/test_graphql.py::test_graphql_retries_on_429_response - Impo...\nERROR tests/unit/test_graphql.py::test_graphql_raises_on_401_response - Impor...\n2 failed, 1080 passed, 3 skipped, 2 errors in 2.92s\n",
"timed_out": false
}
],
"reason": "selected public tests fail at base",
"valid": false
}
},
{
"commit": "804638777f22b23a8b9ea54ffce19852ea6d9366",
"elapsed_seconds": 0.027884499868378043,
"parent": "f2992ae57641379c4ed6ac1660e9c1f9237979af",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "f2992ae57641379c4ed6ac1660e9c1f9237979af",
"elapsed_seconds": 0.024907124927267432,
"parent": "9fe372a8898fed25d8bca8eedcf42560448380e4",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.6.1-ee.0",
"validation": null
},
{
"commit": "9fe372a8898fed25d8bca8eedcf42560448380e4",
"elapsed_seconds": 0.024787999922409654,
"parent": "9877520fc2f1d30f009344416c884d44a0edcae9",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(docs): Fix CHANGELOG tracebacks codeblocks",
"validation": null
},
{
"commit": "9877520fc2f1d30f009344416c884d44a0edcae9",
"elapsed_seconds": 0.032900458201766014,
"parent": "029695df80f7370f891e17664522dd11ea530881",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.1.0",
"validation": null
},
{
"commit": "029695df80f7370f891e17664522dd11ea530881",
"elapsed_seconds": 0.032411790918558836,
"parent": "0cb817153d8149dfdfa3dfc28fda84382a807ae2",
"reason": "no eligible unit-test file",
"source_changed_lines": 9,
"source_paths": [
"gitlab/v4/objects/merge_request_approvals.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "get single project approval rule",
"validation": null
},
{
"commit": "0cb817153d8149dfdfa3dfc28fda84382a807ae2",
"elapsed_seconds": 0.03299420792609453,
"parent": "bdc8852051c98b774fd52056992333ff3638f628",
"reason": "no eligible unit-test file",
"source_changed_lines": 16,
"source_paths": [
"gitlab/mixins.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "enable token rotation via CLI",
"validation": null
},
{
"commit": "bdc8852051c98b774fd52056992333ff3638f628",
"elapsed_seconds": 0.03292004088871181,
"parent": "9061647315f4e3e449cb8096c56b8baa1dbb4b23",
"reason": "no eligible unit-test file",
"source_changed_lines": 1,
"source_paths": [
"gitlab/const.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add new Planner role to access levels",
"validation": null
},
{
"commit": "9061647315f4e3e449cb8096c56b8baa1dbb4b23",
"elapsed_seconds": 0.02398329204879701,
"parent": "79113d997b3d297fd8e06c6e6e10fe39480cb2f6",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "79113d997b3d297fd8e06c6e6e10fe39480cb2f6",
"elapsed_seconds": 0.024263916071504354,
"parent": "62da12aa79b11b64257cd4b1a6e403964966e224",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.6.0-ee.0",
"validation": null
},
{
"commit": "62da12aa79b11b64257cd4b1a6e403964966e224",
"elapsed_seconds": 0.024203042034059763,
"parent": "d39129b659def10213821f3e46718c4086e77b4b",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "d39129b659def10213821f3e46718c4086e77b4b",
"elapsed_seconds": 0.02407920779660344,
"parent": "11458e0e0404d1b2496b505509ecb795366a7e64",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.5.2-ee.0",
"validation": null
},
{
"commit": "11458e0e0404d1b2496b505509ecb795366a7e64",
"elapsed_seconds": 0.025376375066116452,
"parent": "7e62136991f694be9c8c76c12f291c60f3607b44",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update pre-commit hook maxbrunet/pre-commit-renovate to v39",
"validation": null
},
{
"commit": "7e62136991f694be9c8c76c12f291c60f3607b44",
"elapsed_seconds": 0.02769708400592208,
"parent": "499243b37cda0c7dcd4b6ce046d42e81845e2a4f",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "499243b37cda0c7dcd4b6ce046d42e81845e2a4f",
"elapsed_seconds": 0.033674916019663215,
"parent": "ffa88b3a45fa5997cafd400cebd6f62acd43ba8e",
"reason": "no eligible unit-test file",
"source_changed_lines": 6,
"source_paths": [
"gitlab/v4/objects/service_accounts.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "support list and delete for group service accounts",
"validation": null
},
{
"commit": "ffa88b3a45fa5997cafd400cebd6f62acd43ba8e",
"elapsed_seconds": 0.025080583058297634,
"parent": "d4b52e789fd131475096817ffd6f5a8e1e5d07c6",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency pytest-cov to v6",
"validation": null
},
{
"commit": "d4b52e789fd131475096817ffd6f5a8e1e5d07c6",
"elapsed_seconds": 0.024670875165611506,
"parent": "f51cd5251c027849effb7e6ad3a01806fb2bda67",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "f51cd5251c027849effb7e6ad3a01806fb2bda67",
"elapsed_seconds": 0.03339720796793699,
"parent": "541a7e3ec3f685eb7c841eeee3be0f1df3d09035",
"reason": "no eligible unit-test file",
"source_changed_lines": 25,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add support for more optional flags",
"validation": null
},
{
"commit": "541a7e3ec3f685eb7c841eeee3be0f1df3d09035",
"elapsed_seconds": 0.024342291988432407,
"parent": "8111f49e4f91783dbc6d3f0c3fce6eb504f09bb4",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "8111f49e4f91783dbc6d3f0c3fce6eb504f09bb4",
"elapsed_seconds": 0.024749625008553267,
"parent": "90c72d815a653e48c2ac01ee69889f8a918481fa",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.5.1-ee.0",
"validation": null
},
{
"commit": "90c72d815a653e48c2ac01ee69889f8a918481fa",
"elapsed_seconds": 0.03221824998036027,
"parent": "f4bfe19b5077089ea1d3bf07e8718d29de7d6594",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v5.0.0",
"validation": null
},
{
"commit": "f4bfe19b5077089ea1d3bf07e8718d29de7d6594",
"elapsed_seconds": 0.024134916020557284,
"parent": "14d2a82969cd1b3509526eee29159f15862224a2",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/base/test_rest_object.py"
],
"title": "test: add test for `to_json()` method",
"validation": null
},
{
"commit": "14d2a82969cd1b3509526eee29159f15862224a2",
"elapsed_seconds": 0.03205087478272617,
"parent": "3739b5dd11bed66fb482cf6d2dc34382327a0265",
"reason": "no eligible unit-test file",
"source_changed_lines": 4,
"source_paths": [
"gitlab/base.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add testing of Python 3.14",
"validation": null
},
{
"commit": "3739b5dd11bed66fb482cf6d2dc34382327a0265",
"elapsed_seconds": 0.024035416077822447,
"parent": "6fda15dff5e01c9982c9c7e65e302ff06416517e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs(users): update Gitlab docs links",
"validation": null
},
{
"commit": "6fda15dff5e01c9982c9c7e65e302ff06416517e",
"elapsed_seconds": 0.02437883405946195,
"parent": "1e4326b393be719616db5a08594facdabfbc1855",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency ubuntu to v24",
"validation": null
},
{
"commit": "1e4326b393be719616db5a08594facdabfbc1855",
"elapsed_seconds": 0.024077459005638957,
"parent": "c02a3927f5294778b1c98128e1e04bcbc40ed821",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "c02a3927f5294778b1c98128e1e04bcbc40ed821",
"elapsed_seconds": 0.024608332896605134,
"parent": "b565e785d05a1e7f559bfcb0d081b3c2507340da",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.5.0-ee.0",
"validation": null
},
{
"commit": "b565e785d05a1e7f559bfcb0d081b3c2507340da",
"elapsed_seconds": 0.024845999898388982,
"parent": "482f2fe6ccae9239b3a010a70969d8d887cdb6b6",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add Python 3.13 as supported",
"validation": null
},
{
"commit": "482f2fe6ccae9239b3a010a70969d8d887cdb6b6",
"elapsed_seconds": 0.02451974991708994,
"parent": "b3834dceb290c4c3bc97541aea38b02de53638df",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: remove \"v3\" question from issue template",
"validation": null
},
{
"commit": "b3834dceb290c4c3bc97541aea38b02de53638df",
"elapsed_seconds": 0.024598083924502134,
"parent": "1cdfe40ac0a5334ee13d530e3f6f60352a621892",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "1cdfe40ac0a5334ee13d530e3f6f60352a621892",
"elapsed_seconds": 0.024856584146618843,
"parent": "1a68f1c5ff93ad77c58276231ee33f58b7083a09",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.4.2-ee.0",
"validation": null
},
{
"commit": "1a68f1c5ff93ad77c58276231ee33f58b7083a09",
"elapsed_seconds": 1.5384063329547644,
"parent": "9734ad4bcbedcf4ee61317c12f47ddacf2ac208f",
"reason": null,
"source_changed_lines": 1,
"source_paths": [
"gitlab/v4/objects/merge_request_approvals.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_008",
"test_paths": [
"tests/unit/objects/test_project_merge_request_approvals.py"
],
"title": "set _repr_attr for project approval rules to name attr",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.5036679171025753,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4247459589969367,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n...s.................................................................... [ 84%]\n..................................................... [100%]\n338 passed, 3 skipped in 0.25s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.443036749958992,
"returncode": 1,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n.....................................................F.................. [ 63%]\n...s.................................................................... [ 84%]\n..................................................... [100%]\n=================================== FAILURES ===================================\n_______________________ test_list_project_approval_rules _______________________\n\nproject = <Project id:1>\nresp_prj_approval_rules = <responses.RequestsMock object at 0x107dd5390>\n\n def test_list_project_approval_rules(project, resp_prj_approval_rules):\n approval_rules = project.approvalrules.list()\n assert len(approval_rules) == 1\n assert approval_rules[0].name == approval_rule_name\n assert approval_rules[0].id == approval_rule_id\n> assert (\n repr(approval_rules[0])\n == f\"<ProjectApprovalRule id:{approval_rule_id} name:{approval_rule_name}>\"\n )\nE AssertionError: assert '<ProjectApprovalRule id:7>' == '<ProjectAppr...ame:security>'\nE \nE - <ProjectApprovalRule id:7 name:security>\nE ? --------------\nE + <ProjectApprovalRule id:7>\n\ntests/unit/objects/test_project_merge_request_approvals.py:306: AssertionError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_project_merge_request_approvals.py::test_list_project_approval_rules\n1 failed, 337 passed, 3 skipped in 0.27s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.010066708084195852,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5716946250759065,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n..s..................................................................... [ 84%]\n.................................................... [100%]\n337 passed, 3 skipped in 0.39s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009651167085394263,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "9734ad4bcbedcf4ee61317c12f47ddacf2ac208f",
"elapsed_seconds": 0.027528416831046343,
"parent": "8dca487204f3f7a19a8032cf8d783f3169bfee18",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "remove support for Python 3.8, require 3.9 or higher",
"validation": null
},
{
"commit": "8dca487204f3f7a19a8032cf8d783f3169bfee18",
"elapsed_seconds": 0.03327804198488593,
"parent": "0ee0e02f1d1415895f6ab0f6d23b39b50a36446a",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.13.0",
"validation": null
},
{
"commit": "0ee0e02f1d1415895f6ab0f6d23b39b50a36446a",
"elapsed_seconds": 0.03338558296673,
"parent": "5c27546d35ced76763ea8b0071b4ec4c896893a1",
"reason": "no eligible unit-test file",
"source_changed_lines": 34,
"source_paths": [
"gitlab/v4/objects/pages.py",
"gitlab/v4/objects/projects.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add support for project Pages API",
"validation": null
},
{
"commit": "5c27546d35ced76763ea8b0071b4ec4c896893a1",
"elapsed_seconds": 0.024212541989982128,
"parent": "c3efb37c050268de3f1ef5e24748ccd9487e346d",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency pre-commit to v4",
"validation": null
},
{
"commit": "c3efb37c050268de3f1ef5e24748ccd9487e346d",
"elapsed_seconds": 0.02454479201696813,
"parent": "0ceebd0ecb3f18b8edccd4dd6b104f1f96104b23",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "0ceebd0ecb3f18b8edccd4dd6b104f1f96104b23",
"elapsed_seconds": 0.03255720902234316,
"parent": "9bf26df9d1535ca2881c43706a337a972b737fa0",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.12.2",
"validation": null
},
{
"commit": "9bf26df9d1535ca2881c43706a337a972b737fa0",
"elapsed_seconds": 0.032978749834001064,
"parent": "2ab0b9fe334afd5720eb4eb5abfc4d13102f4446",
"reason": "no eligible unit-test file",
"source_changed_lines": 1,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "raise GitlabHeadError in `project.files.head()` method",
"validation": null
},
{
"commit": "2ab0b9fe334afd5720eb4eb5abfc4d13102f4446",
"elapsed_seconds": 0.03301429213024676,
"parent": "c848d12252763c32fc2b1c807e7d9887f391a761",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.12.1",
"validation": null
},
{
"commit": "c848d12252763c32fc2b1c807e7d9887f391a761",
"elapsed_seconds": 0.02412212500348687,
"parent": "d3da326828274ed0c5f76b01a068519d360995c8",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "do not rely on GitLab.com runner arch variables",
"validation": null
},
{
"commit": "d3da326828274ed0c5f76b01a068519d360995c8",
"elapsed_seconds": 0.02429825020954013,
"parent": "190ec89bea12d7eec719a6ea4d15706cfdacd159",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "190ec89bea12d7eec719a6ea4d15706cfdacd159",
"elapsed_seconds": 0.032705417135730386,
"parent": "64eed5d388252135a42a252b9100ffc75d9fb0ea",
"reason": "no eligible unit-test file",
"source_changed_lines": 1,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "correctly raise GitlabGetError in get method",
"validation": null
},
{
"commit": "64eed5d388252135a42a252b9100ffc75d9fb0ea",
"elapsed_seconds": 0.02469612518325448,
"parent": "27dbbe7a5e34509210ec3930f36b939212cb6d6c",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.4.1-ee.0",
"validation": null
},
{
"commit": "27dbbe7a5e34509210ec3930f36b939212cb6d6c",
"elapsed_seconds": 0.03226279211230576,
"parent": "29f617d7d368636791baf703ecdbd22583356674",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.12.0",
"validation": null
},
{
"commit": "29f617d7d368636791baf703ecdbd22583356674",
"elapsed_seconds": 0.02441104198805988,
"parent": "ae132e7a1efef6b0ae2f2a7d335668784648e3c7",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "build multi-arch images",
"validation": null
},
{
"commit": "ae132e7a1efef6b0ae2f2a7d335668784648e3c7",
"elapsed_seconds": 0.024154708022251725,
"parent": "a0729b83e63bcd74f522bf57a87a5800b1cf19d1",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "a0729b83e63bcd74f522bf57a87a5800b1cf19d1",
"elapsed_seconds": 0.024240999948233366,
"parent": "174d992e49f1e5171fee8893a1713f30324bbf97",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: update pylint to 3.3.1 and resolve issues",
"validation": null
},
{
"commit": "174d992e49f1e5171fee8893a1713f30324bbf97",
"elapsed_seconds": 1.5327179587911814,
"parent": "a2ab54ceb40eca1e6e71f7779a418591426b2b2c",
"reason": null,
"source_changed_lines": 29,
"source_paths": [
"gitlab/v4/objects/merge_requests.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_009",
"test_paths": [
"tests/unit/objects/test_merge_requests.py"
],
"title": "introduce related_issues to merge requests",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.4997267499566078,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4217844579834491,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n..s..................................................................... [ 84%]\n.................................................... [100%]\n337 passed, 3 skipped in 0.25s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4460919168777764,
"returncode": 1,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n......................................................................FE [ 42%]\n........................................................................ [ 63%]\n...s.................................................................... [ 84%]\n..................................................... [100%]\n==================================== ERRORS ====================================\n________________ ERROR at teardown of test_list_related_issues _________________\n\n @pytest.fixture\n def resp_list_merge_requests_related_issues():\n> with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_merge_requests.py:172: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x1074382d0>, allow_assert = True\n\n def stop(self, allow_assert: bool = True) -> None:\n if self._patcher:\n # prevent stopping unstarted patchers\n self._patcher.stop()\n \n # once patcher is stopped, clean it. This is required to create a new\n # fresh patcher on self.start()\n self._patcher = None\n \n if not self.assert_all_requests_are_fired:\n return\n \n if not allow_assert:\n return\n \n not_called = [m for m in self.registered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('GET', 'http://localhost/api/v4/projects/1/merge_requests/1/related_issues')]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n___________________________ test_list_related_issues ___________________________\n\nproject = <Project id:1>\nresp_list_merge_requests_related_issues = <responses.RequestsMock object at 0x1074382d0>\n\n def test_list_related_issues(project, resp_list_merge_requests_related_issues):\n mr = project.mergerequests.get(1)\n> this_mr_related_issues = mr.related_issues()\n\ntests/unit/objects/test_merge_requests.py:216: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <ProjectMergeRequest iid:1>, name = 'related_issues'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'ProjectMergeRequest' object has no attribute 'related_issues'\n\ngitlab/base.py:134: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_merge_requests.py::test_list_related_issues - ...\nERROR tests/unit/objects/test_merge_requests.py::test_list_related_issues - A...\n1 failed, 336 passed, 3 skipped, 1 error in 0.27s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009384915931150317,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5684731660876423,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n.s...................................................................... [ 84%]\n................................................... [100%]\n336 passed, 3 skipped in 0.39s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00983520783483982,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "a2ab54ceb40eca1e6e71f7779a418591426b2b2c",
"elapsed_seconds": 0.02544037508778274,
"parent": "860180862d952ed25cf95df1a4f825664f7e1c4b",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency types-setuptools to v75",
"validation": null
},
{
"commit": "860180862d952ed25cf95df1a4f825664f7e1c4b",
"elapsed_seconds": 0.025126124965026975,
"parent": "10ee58a01fdc8071f29ae0095d9ea8a4424fa728",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.4.0-ee.0",
"validation": null
},
{
"commit": "10ee58a01fdc8071f29ae0095d9ea8a4424fa728",
"elapsed_seconds": 0.02476904192008078,
"parent": "5cd1ab202e3e7b64d626d2c4e62b1662a4285015",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "5cd1ab202e3e7b64d626d2c4e62b1662a4285015",
"elapsed_seconds": 0.02521054190583527,
"parent": "96a18b065dac4ce612a128f03e2fc6d1b4ccd69e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.3.2-ee.0",
"validation": null
},
{
"commit": "96a18b065dac4ce612a128f03e2fc6d1b4ccd69e",
"elapsed_seconds": 1.073079459136352,
"parent": "10c7aee1996dc00aaab356462daeb3d53037f59d",
"reason": "hidden tests do not expose the base bug",
"source_changed_lines": 44,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/objects/test_repositories.py"
],
"title": "head requests for projectfilemanager",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.0397720420733094,
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.42883166717365384,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n.s...................................................................... [ 84%]\n................................................... [100%]\n336 passed, 3 skipped in 0.26s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009544834028929472,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.555183082818985,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n.s...................................................................... [ 85%]\n.................................................. [100%]\n335 passed, 3 skipped in 0.38s\n",
"timed_out": false
}
],
"reason": "hidden tests do not expose the base bug",
"valid": false
}
},
{
"commit": "10c7aee1996dc00aaab356462daeb3d53037f59d",
"elapsed_seconds": 0.03529762499965727,
"parent": "b41b2de8884c2dc8c8be467f480c7161db6a1c87",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.11.1",
"validation": null
},
{
"commit": "b41b2de8884c2dc8c8be467f480c7161db6a1c87",
"elapsed_seconds": 0.03329370799474418,
"parent": "7669d4d2372dea17cf1369c0408340adf114b07e",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/client.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "ensure type evaluations are postponed",
"validation": null
},
{
"commit": "7669d4d2372dea17cf1369c0408340adf114b07e",
"elapsed_seconds": 0.03322095796465874,
"parent": "b9f5c12d3ba6ca4e4321a81e7610d03fb4440c02",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.11.0",
"validation": null
},
{
"commit": "b9f5c12d3ba6ca4e4321a81e7610d03fb4440c02",
"elapsed_seconds": 0.02481274981983006,
"parent": "145870e628ed3b648a0a29fc551a6f38469b684a",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs(objects): fix typo in get latest pipeline",
"validation": null
},
{
"commit": "145870e628ed3b648a0a29fc551a6f38469b684a",
"elapsed_seconds": 0.2486067502759397,
"parent": "8898c38b97ed36d9ff8f2f20dee27ef1448b9f83",
"reason": "selected public tests fail at base",
"source_changed_lines": 10,
"source_paths": [
"gitlab/client.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/test_graphql.py"
],
"title": "make retries configurable in GraphQL",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 0.2157596661709249,
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 0.16947554191574454,
"returncode": 4,
"stderr": "ImportError while loading conftest '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-2bdk5r17/tree/tests/conftest.py'.\ntests/conftest.py:6: in <module>\n import gitlab\ngitlab/__init__.py:30: in <module>\n from gitlab.client import Gitlab, GitlabList, GraphQL # noqa: F401\ngitlab/client.py:1279: in <module>\n class GraphQL:\ngitlab/client.py:1286: in GraphQL\n client: Optional[httpx.Client] = None,\nE NameError: name 'httpx' is not defined\n",
"stdout": "",
"timed_out": false
}
],
"reason": "selected public tests fail at base",
"valid": false
}
},
{
"commit": "8898c38b97ed36d9ff8f2f20dee27ef1448b9f83",
"elapsed_seconds": 0.24979308294132352,
"parent": "3235c48328c2866f7d46597ba3c0c2488e6c375c",
"reason": "selected public tests fail at base",
"source_changed_lines": 74,
"source_paths": [
"gitlab/client.py",
"gitlab/utils.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/test_graphql.py",
"tests/unit/test_retry.py"
],
"title": "add retry handling to GraphQL client",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 0.2132795830257237,
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 0.1686656668316573,
"returncode": 4,
"stderr": "ImportError while loading conftest '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-14tmhs3d/tree/tests/conftest.py'.\ntests/conftest.py:6: in <module>\n import gitlab\ngitlab/__init__.py:30: in <module>\n from gitlab.client import Gitlab, GitlabList, GraphQL # noqa: F401\ngitlab/client.py:1276: in <module>\n class GraphQL:\ngitlab/client.py:1283: in GraphQL\n client: Optional[httpx.Client] = None,\nE NameError: name 'httpx' is not defined\n",
"stdout": "",
"timed_out": false
}
],
"reason": "selected public tests fail at base",
"valid": false
}
},
{
"commit": "3235c48328c2866f7d46597ba3c0c2488e6c375c",
"elapsed_seconds": 0.26237916690297425,
"parent": "fe5e608bc6cc04863bd4d1d9dbe101fffd88e954",
"reason": "selected public tests fail at base",
"source_changed_lines": 103,
"source_paths": [
"gitlab/client.py",
"gitlab/utils.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/test_retry.py"
],
"title": "move retry logic into utility",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 0.22666499996557832,
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 0.1829139580950141,
"returncode": 4,
"stderr": "ImportError while loading conftest '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-iwta5s98/tree/tests/conftest.py'.\ntests/conftest.py:6: in <module>\n import gitlab\ngitlab/__init__.py:30: in <module>\n from gitlab.client import Gitlab, GitlabList, GraphQL # noqa: F401\ngitlab/client.py:1301: in <module>\n class GraphQL:\ngitlab/client.py:1308: in GraphQL\n client: Optional[httpx.Client] = None,\nE NameError: name 'httpx' is not defined\n",
"stdout": "",
"timed_out": false
}
],
"reason": "selected public tests fail at base",
"valid": false
}
},
{
"commit": "fe5e608bc6cc04863bd4d1d9dbe101fffd88e954",
"elapsed_seconds": 0.02716354187577963,
"parent": "fac8bf9f3e2a0218f96337536d08dec9991bfc1a",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(pre-commit): add deps",
"validation": null
},
{
"commit": "fac8bf9f3e2a0218f96337536d08dec9991bfc1a",
"elapsed_seconds": 0.025532541796565056,
"parent": "e637808bcb74498438109d7ed352071ebaa192d5",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "e637808bcb74498438109d7ed352071ebaa192d5",
"elapsed_seconds": 0.034749167039990425,
"parent": "d6b1b0a962bbf0f4e0612067fc075dbdcbb772f8",
"reason": "no eligible unit-test file",
"source_changed_lines": 3,
"source_paths": [
"gitlab/v4/objects/members.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add exclusive GET attrs for /projects/:id/members",
"validation": null
},
{
"commit": "d6b1b0a962bbf0f4e0612067fc075dbdcbb772f8",
"elapsed_seconds": 5.88856091699563,
"parent": "d44ddd2b00d78bb87ff6a4776e64e05e0c1524e1",
"reason": "selected tests fail after the gold patch",
"source_changed_lines": 126,
"source_paths": [
"gitlab/__init__.py",
"gitlab/_backends/graphql.py",
"gitlab/client.py",
"gitlab/utils.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/test_graphql.py"
],
"title": "add a minimal GraphQL client",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 5.854824041947722,
"gold": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 0.16905962489545345,
"returncode": 4,
"stderr": "ImportError while loading conftest '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-uh6k9lcn/tree/tests/conftest.py'.\ntests/conftest.py:6: in <module>\n import gitlab\ngitlab/__init__.py:30: in <module>\n from gitlab.client import Gitlab, GitlabList, GraphQL # noqa: F401\ngitlab/client.py:1301: in <module>\n class GraphQL:\ngitlab/client.py:1308: in GraphQL\n client: Optional[httpx.Client] = None,\nE NameError: name 'httpx' is not defined\n",
"stdout": "",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.689602208090946,
"returncode": 1,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 26%]\n........................................................................ [ 33%]\n........................................................................ [ 40%]\n........................................................................ [ 46%]\n........................................................................ [ 53%]\n.............................s..s....................................... [ 60%]\n........................................................................ [ 67%]\n..................................s..................................... [ 73%]\n........................................................................ [ 80%]\n........................................................................ [ 87%]\n........................................................................ [ 93%]\n........................FF........................................ [100%]\n=================================== FAILURES ===================================\n______________________ test_import_error_includes_message ______________________\n\nmonkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x11370fb10>\n\n def test_import_error_includes_message(monkeypatch: pytest.MonkeyPatch):\n> monkeypatch.setattr(gitlab.client, \"_GQL_INSTALLED\", False)\nE AttributeError: <module 'gitlab.client' from '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-uh6k9lcn/tree/gitlab/client.py'> has no attribute '_GQL_INSTALLED'\n\ntests/unit/test_graphql.py:7: AttributeError\n____________________ test_graphql_as_context_manager_exits _____________________\n\n def test_graphql_as_context_manager_exits():\n> with gitlab.GraphQL() as gl:\nE AttributeError: module 'gitlab' has no attribute 'GraphQL'\n\ntests/unit/test_graphql.py:13: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/test_graphql.py::test_import_error_includes_message - Attri...\nFAILED tests/unit/test_graphql.py::test_graphql_as_context_manager_exits - At...\n2 failed, 1069 passed, 3 skipped in 2.50s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009872999973595142,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.93329770793207,
"returncode": 0,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 26%]\n........................................................................ [ 33%]\n........................................................................ [ 40%]\n........................................................................ [ 47%]\n........................................................................ [ 53%]\n.............................s..s....................................... [ 60%]\n........................................................................ [ 67%]\n..................................s..................................... [ 73%]\n........................................................................ [ 80%]\n........................................................................ [ 87%]\n........................................................................ [ 94%]\n................................................................ [100%]\n1069 passed, 3 skipped in 2.73s\n",
"timed_out": false
}
],
"reason": "selected tests fail after the gold patch",
"source_apply": {
"elapsed_seconds": 0.010067750001326203,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": false
}
},
{
"commit": "d44ddd2b00d78bb87ff6a4776e64e05e0c1524e1",
"elapsed_seconds": 0.037295584101229906,
"parent": "bdfaddb89ae7ba351bd3a21c6cecc528772db4de",
"reason": "no eligible unit-test file",
"source_changed_lines": 3,
"source_paths": [
"gitlab/v4/objects/members.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add exclusive GET attrs for /groups/:id/members",
"validation": null
},
{
"commit": "bdfaddb89ae7ba351bd3a21c6cecc528772db4de",
"elapsed_seconds": 0.025826958008110523,
"parent": "88c75297377dd1f1106b5bc673946cebd563e0a1",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency types-setuptools to v74",
"validation": null
},
{
"commit": "88c75297377dd1f1106b5bc673946cebd563e0a1",
"elapsed_seconds": 0.024609166895970702,
"parent": "bcef988df892562b13e02071af021f09f031f936",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "bcef988df892562b13e02071af021f09f031f936",
"elapsed_seconds": 0.033180875005200505,
"parent": "d6004449ad5aaaf2132318a78523818996ec3e21",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.10.0",
"validation": null
},
{
"commit": "d6004449ad5aaaf2132318a78523818996ec3e21",
"elapsed_seconds": 0.024407916935160756,
"parent": "12caaa496740cb15e6220511751b7a20e2d29d07",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(release): track tags for renovate",
"validation": null
},
{
"commit": "12caaa496740cb15e6220511751b7a20e2d29d07",
"elapsed_seconds": 0.024629916064441204,
"parent": "d55c04502bee0fb42e2ef359cde3bc1b4b510b1a",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to 17c75b7",
"validation": null
},
{
"commit": "d55c04502bee0fb42e2ef359cde3bc1b4b510b1a",
"elapsed_seconds": 0.02445516688749194,
"parent": "2ade0d9f4922226143e2e3835a7449fde9c49d66",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency types-setuptools to v73",
"validation": null
},
{
"commit": "2ade0d9f4922226143e2e3835a7449fde9c49d66",
"elapsed_seconds": 0.024083958007395267,
"parent": "3fdd130a8e87137e5a048d5cb78e43aa476c8f34",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "3fdd130a8e87137e5a048d5cb78e43aa476c8f34",
"elapsed_seconds": 0.024635375011712313,
"parent": "0578bf07e7903037ffef6558e914766b6cf6f545",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.3.1-ee.0",
"validation": null
},
{
"commit": "0578bf07e7903037ffef6558e914766b6cf6f545",
"elapsed_seconds": 0.0241714168805629,
"parent": "e5a46f57de166f94e01f5230eb6ad91f319791e4",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "e5a46f57de166f94e01f5230eb6ad91f319791e4",
"elapsed_seconds": 0.024493291974067688,
"parent": "43a16ac17ce78cf18e0fc10fa8229f052eed3946",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.3.0-ee.0",
"validation": null
},
{
"commit": "43a16ac17ce78cf18e0fc10fa8229f052eed3946",
"elapsed_seconds": 0.024744666879996657,
"parent": "bdc155b716ef63ef1398ee1e6f5ca67da1109c13",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs(faq): correct the attribute fetching example",
"validation": null
},
{
"commit": "bdc155b716ef63ef1398ee1e6f5ca67da1109c13",
"elapsed_seconds": 0.02557404199615121,
"parent": "930d4a21b8afed833b4b2e6879606bbadaee19a1",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(cli): allow up to 30 seconds for a project export",
"validation": null
},
{
"commit": "930d4a21b8afed833b4b2e6879606bbadaee19a1",
"elapsed_seconds": 0.023964209016412497,
"parent": "cb65ffb6957bf039f35926d01f15db559e663915",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency myst-parser to v4",
"validation": null
},
{
"commit": "cb65ffb6957bf039f35926d01f15db559e663915",
"elapsed_seconds": 0.024100375128909945,
"parent": "b2275f767dd620c6cb2c27b0470f4e8151c76550",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency sphinx to v8",
"validation": null
},
{
"commit": "b2275f767dd620c6cb2c27b0470f4e8151c76550",
"elapsed_seconds": 0.024239040911197662,
"parent": "31786a60da4b9a10dec0eab3a0b078aa1e94d809",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.2.2-ee.0",
"validation": null
},
{
"commit": "31786a60da4b9a10dec0eab3a0b078aa1e94d809",
"elapsed_seconds": 0.02442970802076161,
"parent": "9353f5406d6762d09065744bfca360ccff36defe",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "9353f5406d6762d09065744bfca360ccff36defe",
"elapsed_seconds": 1.5196103330235928,
"parent": "8d74b889c55d18395c5e5006ba8f7db77892f603",
"reason": null,
"source_changed_lines": 34,
"source_paths": [
"gitlab/exceptions.py",
"gitlab/v4/objects/hooks.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_010",
"test_paths": [
"tests/unit/objects/test_hooks.py"
],
"title": "project/group hook test triggering",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.4869164580013603,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.42021949985064566,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n.s...................................................................... [ 85%]\n.................................................. [100%]\n335 passed, 3 skipped in 0.25s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4540839157998562,
"returncode": 1,
"stderr": "",
"stdout": "egistered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('POST', re.compile('http://localhost/api/v4/((groups|projects)/1/|)hooks/1/test/[a-z_]+'))]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n_______________ ERROR at teardown of test_test_error_group_hook ________________\n\n @pytest.fixture\n def resp_hook_test_error():\n> with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_hooks.py:121: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x10763a450>, allow_assert = True\n\n def stop(self, allow_assert: bool = True) -> None:\n if self._patcher:\n # prevent stopping unstarted patchers\n self._patcher.stop()\n \n # once patcher is stopped, clean it. This is required to create a new\n # fresh patcher on self.start()\n self._patcher = None\n \n if not self.assert_all_requests_are_fired:\n return\n \n if not allow_assert:\n return\n \n not_called = [m for m in self.registered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('POST', re.compile('http://localhost/api/v4/((groups|projects)/1/|)hooks/1/test/[a-z_]+'))]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n_____________________________ test_test_group_hook _____________________________\n\ngroup = <Group id:1>\nresp_hook_test = <responses.RequestsMock object at 0x1076bc4d0>\n\n def test_test_group_hook(group, resp_hook_test):\n hook = group.hooks.get(1)\n> hook.test(\"push_events\")\n\ntests/unit/objects/test_hooks.py:232: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <GroupHook id:1 url:testurl>, name = 'test'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'GroupHook' object has no attribute 'test'\n\ngitlab/base.py:134: AttributeError\n__________________________ test_test_error_group_hook __________________________\n\ngroup = <Group id:1>\nresp_hook_test_error = <responses.RequestsMock object at 0x10763a450>\n\n def test_test_error_group_hook(group, resp_hook_test_error):\n hook = group.hooks.get(1)\n> with pytest.raises(gitlab.exceptions.GitlabHookTestError):\nE AttributeError: module 'gitlab.exceptions' has no attribute 'GitlabHookTestError'\n\ntests/unit/objects/test_hooks.py:237: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_hooks.py::test_test_group_hook - AttributeErro...\nFAILED tests/unit/objects/test_hooks.py::test_test_error_group_hook - Attribu...\nERROR tests/unit/objects/test_hooks.py::test_test_group_hook - AssertionError...\nERROR tests/unit/objects/test_hooks.py::test_test_error_group_hook - Assertio...\n2 failed, 333 passed, 3 skipped, 2 errors in 0.28s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009496666956692934,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5502862918656319,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n.......................................................................s [ 64%]\n........................................................................ [ 85%]\n................................................ [100%]\n333 passed, 3 skipped in 0.37s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00959554105065763,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "8d74b889c55d18395c5e5006ba8f7db77892f603",
"elapsed_seconds": 0.03428245801478624,
"parent": "64ae61ed9ba60169037703041c2a9a71017475b9",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.9.0",
"validation": null
},
{
"commit": "64ae61ed9ba60169037703041c2a9a71017475b9",
"elapsed_seconds": 0.03381041600368917,
"parent": "f13968be9e2bb532f3c1185c1fa4185c05335552",
"reason": "no eligible unit-test file",
"source_changed_lines": 56,
"source_paths": [
"gitlab/v4/objects/snippets.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add support for listing all instance snippets",
"validation": null
},
{
"commit": "f13968be9e2bb532f3c1185c1fa4185c05335552",
"elapsed_seconds": 0.024502583080902696,
"parent": "f95ca26b411e5a8998eb4b81e41c061726271240",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update pre-commit hook maxbrunet/pre-commit-renovate to v38",
"validation": null
},
{
"commit": "f95ca26b411e5a8998eb4b81e41c061726271240",
"elapsed_seconds": 0.024438084103167057,
"parent": "d6a7dba600923e582064a77579dea82281871c25",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "d6a7dba600923e582064a77579dea82281871c25",
"elapsed_seconds": 0.024077000096440315,
"parent": "eb5c6f7fb6487da21c69582adbc69aaf36149143",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency types-setuptools to v71",
"validation": null
},
{
"commit": "eb5c6f7fb6487da21c69582adbc69aaf36149143",
"elapsed_seconds": 0.024532374925911427,
"parent": "d13a656565898886cc6ba11028b3bcb719c21f0f",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to 0dcddac",
"validation": null
},
{
"commit": "d13a656565898886cc6ba11028b3bcb719c21f0f",
"elapsed_seconds": 0.024537625024095178,
"parent": "7adc86b2e202cad42776991f0ed8c81517bb37ad",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.2.1-ee.0",
"validation": null
},
{
"commit": "7adc86b2e202cad42776991f0ed8c81517bb37ad",
"elapsed_seconds": 0.024748416850343347,
"parent": "eb18552e423e270a27a2b205bfd2f22fcb2eb949",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "eb18552e423e270a27a2b205bfd2f22fcb2eb949",
"elapsed_seconds": 0.024321167031303048,
"parent": "e820db0d9db42a826884b45a76267fee861453d4",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to e2355e1",
"validation": null
},
{
"commit": "e820db0d9db42a826884b45a76267fee861453d4",
"elapsed_seconds": 0.024437374901026487,
"parent": "67370d8f083ddc34c0acf0c0b06742a194dfa735",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "67370d8f083ddc34c0acf0c0b06742a194dfa735",
"elapsed_seconds": 0.02438162500038743,
"parent": "18f6be580b12dc406ef356b2cd65f47c24fce63e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(ci): make pre-commit check happy",
"validation": null
},
{
"commit": "18f6be580b12dc406ef356b2cd65f47c24fce63e",
"elapsed_seconds": 0.03226724988780916,
"parent": "32dbc6f2bee5b22d18c4793f135223d9b9824d15",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.8.0",
"validation": null
},
{
"commit": "32dbc6f2bee5b22d18c4793f135223d9b9824d15",
"elapsed_seconds": 1.325488582951948,
"parent": "ee393a16e1aa6dbf2f9785eb3ef486f7d5b9276f",
"reason": null,
"source_changed_lines": 29,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/cluster_agents.py",
"gitlab/v4/objects/projects.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_011",
"test_paths": [
"tests/unit/objects/test_cluster_agents.py"
],
"title": "add support for project cluster agents",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.2926694171037525,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4181147499475628,
"returncode": 0,
"stderr": "",
"stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n.......................................................................s [ 64%]\n........................................................................ [ 85%]\n................................................ [100%]\n333 passed, 3 skipped in 0.25s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.2554962078575045,
"returncode": 2,
"stderr": "",
"stdout": "\n==================================== ERRORS ====================================\n__________ ERROR collecting tests/unit/objects/test_cluster_agents.py __________\nImportError while importing test module '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-8a6hfxuk/tree/tests/unit/objects/test_cluster_agents.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/opt/homebrew/Cellar/python@3.11/3.11.15_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/unit/objects/test_cluster_agents.py:8: in <module>\n from gitlab.v4.objects import ProjectClusterAgent\nE ImportError: cannot import name 'ProjectClusterAgent' from 'gitlab.v4.objects' (/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-8a6hfxuk/tree/gitlab/v4/objects/__init__.py)\n=========================== short test summary info ============================\nERROR tests/unit/objects/test_cluster_agents.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.08s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.0108537501655519,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5554793330375105,
"returncode": 0,
"stderr": "",
"stdout": "................................................................s..s.... [ 21%]\n........................................................................ [ 43%]\n...................................................................s.... [ 65%]\n........................................................................ [ 86%]\n............................................ [100%]\n329 passed, 3 skipped in 0.37s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00920033291913569,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "ee393a16e1aa6dbf2f9785eb3ef486f7d5b9276f",
"elapsed_seconds": 0.024682165822014213,
"parent": "c307dd20e3df61b118b3b1a8191c0f1880bc9ed6",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(registry): disable functional tests for unavailable endpoints",
"validation": null
},
{
"commit": "c307dd20e3df61b118b3b1a8191c0f1880bc9ed6",
"elapsed_seconds": 0.03332458296790719,
"parent": "6d31649190279a844bfa591a953b0556cd6fc492",
"reason": "no eligible unit-test file",
"source_changed_lines": 9,
"source_paths": [
"gitlab/v4/objects/package_protection_rules.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add missing attributes",
"validation": null
},
{
"commit": "6d31649190279a844bfa591a953b0556cd6fc492",
"elapsed_seconds": 1.3148302491754293,
"parent": "d509da60155e9470dee197d91926850ea9548de9",
"reason": null,
"source_changed_lines": 40,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/registry_protection_rules.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_012",
"test_paths": [
"tests/unit/objects/test_registry_protection_rules.py"
],
"title": "add support for container registry protection rules",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.2803772080224007,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.41283058281987906,
"returncode": 0,
"stderr": "",
"stdout": "................................................................s..s.... [ 21%]\n........................................................................ [ 43%]\n...................................................................s.... [ 65%]\n........................................................................ [ 86%]\n............................................ [100%]\n329 passed, 3 skipped in 0.24s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.24596374994143844,
"returncode": 2,
"stderr": "",
"stdout": "\n==================================== ERRORS ====================================\n____ ERROR collecting tests/unit/objects/test_registry_protection_rules.py _____\nImportError while importing test module '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-y397aad3/tree/tests/unit/objects/test_registry_protection_rules.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/opt/homebrew/Cellar/python@3.11/3.11.15_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/unit/objects/test_registry_protection_rules.py:8: in <module>\n from gitlab.v4.objects import ProjectRegistryProtectionRule\nE ImportError: cannot import name 'ProjectRegistryProtectionRule' from 'gitlab.v4.objects' (/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-y397aad3/tree/gitlab/v4/objects/__init__.py)\n=========================== short test summary info ============================\nERROR tests/unit/objects/test_registry_protection_rules.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.08s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009630083106458187,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5597804160788655,
"returncode": 0,
"stderr": "",
"stdout": "................................................................s..s.... [ 21%]\n........................................................................ [ 43%]\n...................................................................s.... [ 65%]\n........................................................................ [ 87%]\n......................................... [100%]\n326 passed, 3 skipped in 0.38s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009687625104561448,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "d509da60155e9470dee197d91926850ea9548de9",
"elapsed_seconds": 0.027019415982067585,
"parent": "6b37811c3060620afd8b81e54a99d96e4e094ce9",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: document how to use `sudo` if modifying an object",
"validation": null
},
{
"commit": "6b37811c3060620afd8b81e54a99d96e4e094ce9",
"elapsed_seconds": 1.3088926237542182,
"parent": "c378817389a9510ef508b5a3c90282e5fb60049f",
"reason": null,
"source_changed_lines": 39,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/package_protection_rules.py",
"gitlab/v4/objects/projects.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_013",
"test_paths": [
"tests/unit/objects/test_package_protection_rules.py"
],
"title": "add support for package protection rules",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.2749558328650892,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4238714170642197,
"returncode": 0,
"stderr": "",
"stdout": "................................................................s..s.... [ 21%]\n........................................................................ [ 43%]\n...................................................................s.... [ 65%]\n........................................................................ [ 87%]\n......................................... [100%]\n326 passed, 3 skipped in 0.25s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.24831195804290473,
"returncode": 2,
"stderr": "",
"stdout": "\n==================================== ERRORS ====================================\n_____ ERROR collecting tests/unit/objects/test_package_protection_rules.py _____\nImportError while importing test module '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-s03z31hf/tree/tests/unit/objects/test_package_protection_rules.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/opt/homebrew/Cellar/python@3.11/3.11.15_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/unit/objects/test_package_protection_rules.py:8: in <module>\n from gitlab.v4.objects import ProjectPackageProtectionRule\nE ImportError: cannot import name 'ProjectPackageProtectionRule' from 'gitlab.v4.objects' (/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-s03z31hf/tree/gitlab/v4/objects/__init__.py)\n=========================== short test summary info ============================\nERROR tests/unit/objects/test_package_protection_rules.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.08s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009436875116080046,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5414669578894973,
"returncode": 0,
"stderr": "",
"stdout": "................................................................s..s.... [ 22%]\n........................................................................ [ 44%]\n...............................................................s........ [ 66%]\n........................................................................ [ 88%]\n..................................... [100%]\n322 passed, 3 skipped in 0.36s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009815499885007739,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "c378817389a9510ef508b5a3c90282e5fb60049f",
"elapsed_seconds": 0.025176249910145998,
"parent": "6fedfa546120942757ea48337ce7446914eb3813",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: variables: add note about `filter` for updating",
"validation": null
},
{
"commit": "6fedfa546120942757ea48337ce7446914eb3813",
"elapsed_seconds": 0.02495791600085795,
"parent": "4a2b2133b52dac102d6f623bf028bdef6dd5a92f",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.1.2-ee.0",
"validation": null
},
{
"commit": "4a2b2133b52dac102d6f623bf028bdef6dd5a92f",
"elapsed_seconds": 0.02440712507814169,
"parent": "44f62c49106abce2099d5bb1f3f97b64971da406",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "44f62c49106abce2099d5bb1f3f97b64971da406",
"elapsed_seconds": 0.02459362498484552,
"parent": "2ab88b25a64bd8e028cee2deeb842476de54b109",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(ci): specify name of \"stale\" label",
"validation": null
},
{
"commit": "2ab88b25a64bd8e028cee2deeb842476de54b109",
"elapsed_seconds": 0.02436783304437995,
"parent": "b74a6fb5157e55d3e4471a0c5c8378fed8075edc",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(ci): stale: allow issues/PRs that have stale label to be closed",
"validation": null
},
{
"commit": "b74a6fb5157e55d3e4471a0c5c8378fed8075edc",
"elapsed_seconds": 0.025080540915951133,
"parent": "3f3ad80ef5bb2ed837adceae061291b2b5545ed3",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(ci): use codecov token when available",
"validation": null
},
{
"commit": "3f3ad80ef5bb2ed837adceae061291b2b5545ed3",
"elapsed_seconds": 0.025984790874645114,
"parent": "0f59069420f403a17f67a5c36c81485c9016b59b",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to fe6cc89",
"validation": null
},
{
"commit": "0f59069420f403a17f67a5c36c81485c9016b59b",
"elapsed_seconds": 0.02423479105345905,
"parent": "de2e4dd7e80c7b84fd41458117a85558fcbac32d",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "de2e4dd7e80c7b84fd41458117a85558fcbac32d",
"elapsed_seconds": 0.03258449980057776,
"parent": "d065275f2fe296dd00e9bbd0f676d1596f261a85",
"reason": "no eligible unit-test file",
"source_changed_lines": 22,
"source_paths": [
"gitlab/v4/objects/issues.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "issues `closed_by()/related_merge_requests()` use `http_list`",
"validation": null
},
{
"commit": "d065275f2fe296dd00e9bbd0f676d1596f261a85",
"elapsed_seconds": 0.032317624893039465,
"parent": "51d8f888aca469cff1c5ee5e158fb259d2862017",
"reason": "no eligible unit-test file",
"source_changed_lines": 6,
"source_paths": [
"gitlab/mixins.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "Have `participants()` method use `http_list()`",
"validation": null
},
{
"commit": "51d8f888aca469cff1c5ee5e158fb259d2862017",
"elapsed_seconds": 0.03263187501579523,
"parent": "f316b466c04f8ff3c0cca06d0e18ddf2d62d033c",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "CR: add explicit comparison to `None`",
"validation": null
},
{
"commit": "f316b466c04f8ff3c0cca06d0e18ddf2d62d033c",
"elapsed_seconds": 0.023863540962338448,
"parent": "9cb3396d3bd83e82535a2a173b6e52b4f8c020f4",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(files): test with and without `ref` parameter in test case",
"validation": null
},
{
"commit": "9cb3396d3bd83e82535a2a173b6e52b4f8c020f4",
"elapsed_seconds": 0.02390304207801819,
"parent": "00640ac11f77e338919d7e9a1457d111c82af371",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(files): omit optional `ref` parameter in test case",
"validation": null
},
{
"commit": "00640ac11f77e338919d7e9a1457d111c82af371",
"elapsed_seconds": 0.032120333053171635,
"parent": "e5a43799b5039261d7034af909011444718a5814",
"reason": "no eligible unit-test file",
"source_changed_lines": 18,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "make `ref` parameter optional in get raw file api",
"validation": null
},
{
"commit": "e5a43799b5039261d7034af909011444718a5814",
"elapsed_seconds": 0.032990582985803485,
"parent": "7d04315d7d9641d88b0649e42bf24dd160629af5",
"reason": "no eligible unit-test file",
"source_changed_lines": 59,
"source_paths": [
"gitlab/client.py",
"gitlab/utils.py",
"gitlab/v4/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "generate UserWarning if `list` does not return all entries",
"validation": null
},
{
"commit": "7d04315d7d9641d88b0649e42bf24dd160629af5",
"elapsed_seconds": 8.359257665695623,
"parent": "93586405fbfa61317dc75e186799549573bc0bbb",
"reason": null,
"source_changed_lines": 5,
"source_paths": [
"gitlab/utils.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_014",
"test_paths": [
"tests/unit/test_utils.py"
],
"title": "chore: add `show_caller` argument to `utils.warn()`",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 8.325431832810864,
"gold": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.6603600829839706,
"returncode": 0,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 27%]\n........................................................................ [ 34%]\n........................................................................ [ 41%]\n........................................................................ [ 47%]\n........................................................................ [ 54%]\n...................s..s................................................. [ 61%]\n........................................................................ [ 68%]\n..................s..................................................... [ 75%]\n........................................................................ [ 82%]\n........................................................................ [ 88%]\n........................................................................ [ 95%]\n............................................. [100%]\n1050 passed, 3 skipped in 2.47s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.678457540925592,
"returncode": 1,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 27%]\n........................................................................ [ 34%]\n........................................................................ [ 41%]\n........................................................................ [ 47%]\n........................................................................ [ 54%]\n...................s..s................................................. [ 61%]\n........................................................................ [ 68%]\n..................s..................................................... [ 75%]\n........................................................................ [ 82%]\n........................................................................ [ 88%]\n........................................................................ [ 95%]\n.................................F........... [100%]\n=================================== FAILURES ===================================\n_________________ TestWarningsWrapper.test_warn_no_show_caller _________________\n\nself = <tests.unit.test_utils.TestWarningsWrapper object at 0x107e21850>\n\n def test_warn_no_show_caller(self):\n warn_message = \"short and stout\"\n warn_source = \"teapot\"\n \n with warnings.catch_warnings(record=True) as caught_warnings:\n> utils.warn(\n message=warn_message,\n category=UserWarning,\n source=warn_source,\n show_caller=False,\n )\nE TypeError: warn() got an unexpected keyword argument 'show_caller'\n\ntests/unit/test_utils.py:131: TypeError\n=========================== short test summary info ============================\nFAILED tests/unit/test_utils.py::TestWarningsWrapper::test_warn_no_show_caller\n1 failed, 1049 passed, 3 skipped in 2.49s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.010384874884039164,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.921941166045144,
"returncode": 0,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 27%]\n........................................................................ [ 34%]\n........................................................................ [ 41%]\n........................................................................ [ 47%]\n........................................................................ [ 54%]\n...................s..s................................................. [ 61%]\n........................................................................ [ 68%]\n..................s..................................................... [ 75%]\n........................................................................ [ 82%]\n........................................................................ [ 88%]\n........................................................................ [ 95%]\n............................................ [100%]\n1049 passed, 3 skipped in 2.72s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009874125011265278,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "93586405fbfa61317dc75e186799549573bc0bbb",
"elapsed_seconds": 0.03629816696047783,
"parent": "2156949866ce95af542c127ba4b069e83fcc8104",
"reason": "no eligible unit-test file",
"source_changed_lines": 3,
"source_paths": [
"gitlab/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: use correct type-hint for `die()`",
"validation": null
},
{
"commit": "2156949866ce95af542c127ba4b069e83fcc8104",
"elapsed_seconds": 0.02551029110327363,
"parent": "5e98510a6c918b33c0db0a7756e8a43a8bdd868a",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(fixtures): remove deprecated config option",
"validation": null
},
{
"commit": "5e98510a6c918b33c0db0a7756e8a43a8bdd868a",
"elapsed_seconds": 0.025871957885101438,
"parent": "23393faa0642c66a991fd88f1d2d68aed1d2f172",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.1.1-ee.0",
"validation": null
},
{
"commit": "23393faa0642c66a991fd88f1d2d68aed1d2f172",
"elapsed_seconds": 0.024349417071789503,
"parent": "1f97be2a540122cb872ff59500d85a35031cab5f",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to c7c3b69",
"validation": null
},
{
"commit": "1f97be2a540122cb872ff59500d85a35031cab5f",
"elapsed_seconds": 1.501494166906923,
"parent": "cf87226a81108fbed4f58751f1c03234cc57bcf1",
"reason": null,
"source_changed_lines": 18,
"source_paths": [
"gitlab/v4/objects/commits.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_015",
"test_paths": [
"tests/unit/objects/test_commits.py"
],
"title": "add support for commit sequence",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.4691538750194013,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.42784833279438317,
"returncode": 0,
"stderr": "",
"stdout": "................................................................s..s.... [ 22%]\n........................................................................ [ 44%]\n...............................................................s........ [ 66%]\n........................................................................ [ 88%]\n..................................... [100%]\n322 passed, 3 skipped in 0.26s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.441324207931757,
"returncode": 1,
"stderr": "",
"stdout": ".....................................FE..........................s..s... [ 21%]\n........................................................................ [ 44%]\n................................................................s....... [ 66%]\n........................................................................ [ 88%]\n...................................... [100%]\n==================================== ERRORS ====================================\n________________ ERROR at teardown of test_get_commit_sequence _________________\n\n @pytest.fixture\n def resp_get_commit_sequence():\n content = {\n \"count\": 1,\n }\n \n> with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_commits.py:87: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x10be8cad0>, allow_assert = True\n\n def stop(self, allow_assert: bool = True) -> None:\n if self._patcher:\n # prevent stopping unstarted patchers\n self._patcher.stop()\n \n # once patcher is stopped, clean it. This is required to create a new\n # fresh patcher on self.start()\n self._patcher = None\n \n if not self.assert_all_requests_are_fired:\n return\n \n if not allow_assert:\n return\n \n not_called = [m for m in self.registered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('GET', 'http://localhost/api/v4/projects/1/repository/commits/6b2257ea/sequence')]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n___________________________ test_get_commit_sequence ___________________________\n\nproject = <Project id:1>\nresp_get_commit_sequence = <responses.RequestsMock object at 0x10be8cad0>\n\n def test_get_commit_sequence(project, resp_get_commit_sequence):\n commit = project.commits.get(\"6b2257ea\", lazy=True)\n> sequence = commit.sequence()\n\ntests/unit/objects/test_commits.py:137: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <ProjectCommit id:6b2257ea>, name = 'sequence'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'ProjectCommit' object has no attribute 'sequence'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.commits.ProjectCommit'> was\nE created as a `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_commits.py::test_get_commit_sequence - Attribu...\nERROR tests/unit/objects/test_commits.py::test_get_commit_sequence - Assertio...\n1 failed, 321 passed, 3 skipped, 1 error in 0.27s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.00935449986718595,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5399309578351676,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n..............................................................s......... [ 66%]\n........................................................................ [ 88%]\n.................................... [100%]\n321 passed, 3 skipped in 0.36s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.008792083011940122,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "cf87226a81108fbed4f58751f1c03234cc57bcf1",
"elapsed_seconds": 0.02529741683974862,
"parent": "509e19c982ad0bbfa0fc330617c6e33b3350e491",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "509e19c982ad0bbfa0fc330617c6e33b3350e491",
"elapsed_seconds": 0.03326754178851843,
"parent": "635f5a7128c780880824f69a9aba23af148dfeb4",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.7.0",
"validation": null
},
{
"commit": "635f5a7128c780880824f69a9aba23af148dfeb4",
"elapsed_seconds": 1.4921192079782486,
"parent": "88de2f0fc52f4f02e1d44139f4404acf172624d7",
"reason": null,
"source_changed_lines": 21,
"source_paths": [
"gitlab/v4/objects/pipelines.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_016",
"test_paths": [
"tests/unit/objects/test_pipelines.py"
],
"title": "add support for latest pipeline",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.4582188329659402,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4166545420885086,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n..............................................................s......... [ 66%]\n........................................................................ [ 88%]\n.................................... [100%]\n321 passed, 3 skipped in 0.24s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4397621669340879,
"returncode": 1,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n.......................FEFE.....................................s....... [ 66%]\n........................................................................ [ 88%]\n...................................... [100%]\n==================================== ERRORS ====================================\n__________________ ERROR at teardown of test_latest_pipeline ___________________\n\n @pytest.fixture\n def resp_get_latest():\n> with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_pipelines.py:223: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x1130a43d0>, allow_assert = True\n\n def stop(self, allow_assert: bool = True) -> None:\n if self._patcher:\n # prevent stopping unstarted patchers\n self._patcher.stop()\n \n # once patcher is stopped, clean it. This is required to create a new\n # fresh patcher on self.start()\n self._patcher = None\n \n if not self.assert_all_requests_are_fired:\n return\n \n if not allow_assert:\n return\n \n not_called = [m for m in self.registered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('GET', 'http://localhost/api/v4/projects/1/pipelines/latest')]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n_____________ ERROR at teardown of test_latest_pipeline_other_ref ______________\n\n @pytest.fixture\n def resp_get_latest_other_ref():\n> with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_pipelines.py:236: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x113060fd0>, allow_assert = True\n\n def stop(self, allow_assert: bool = True) -> None:\n if self._patcher:\n # prevent stopping unstarted patchers\n self._patcher.stop()\n \n # once patcher is stopped, clean it. This is required to create a new\n # fresh patcher on self.start()\n self._patcher = None\n \n if not self.assert_all_requests_are_fired:\n return\n \n if not allow_assert:\n return\n \n not_called = [m for m in self.registered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('GET', 'http://localhost/api/v4/projects/1/pipelines/latest')]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n_____________________________ test_latest_pipeline _____________________________\n\nproject = <Project id:1>\nresp_get_latest = <responses.RequestsMock object at 0x1130a43d0>\n\n def test_latest_pipeline(project, resp_get_latest):\n> pipeline = project.pipelines.latest()\nE AttributeError: 'ProjectPipelineManager' object has no attribute 'latest'\n\ntests/unit/objects/test_pipelines.py:287: AttributeError\n________________________ test_latest_pipeline_other_ref ________________________\n\nproject = <Project id:1>\nresp_get_latest_other_ref = <responses.RequestsMock object at 0x113060fd0>\n\n def test_latest_pipeline_other_ref(project, resp_get_latest_other_ref):\n> pipeline = project.pipelines.latest(ref=\"feature-ref\")\nE AttributeError: 'ProjectPipelineManager' object has no attribute 'latest'\n\ntests/unit/objects/test_pipelines.py:294: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_pipelines.py::test_latest_pipeline - Attribute...\nFAILED tests/unit/objects/test_pipelines.py::test_latest_pipeline_other_ref\nERROR tests/unit/objects/test_pipelines.py::test_latest_pipeline - AssertionE...\nERROR tests/unit/objects/test_pipelines.py::test_latest_pipeline_other_ref - ...\n2 failed, 319 passed, 3 skipped, 2 errors in 0.27s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009514082921668887,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5398399161640555,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n............................................................s........... [ 67%]\n........................................................................ [ 89%]\n.................................. [100%]\n319 passed, 3 skipped in 0.36s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00925383297726512,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "88de2f0fc52f4f02e1d44139f4404acf172624d7",
"elapsed_seconds": 0.025473499903455377,
"parent": "a510f43d990c3a3fd169854218b64d4eb9491628",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "a510f43d990c3a3fd169854218b64d4eb9491628",
"elapsed_seconds": 0.02591145783662796,
"parent": "51779c63e6a58e1ae68e9b1c3ffff998211d4e66",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "51779c63e6a58e1ae68e9b1c3ffff998211d4e66",
"elapsed_seconds": 0.02519524982199073,
"parent": "fd0f0b0338623a98e9368c30b600d603b966f8b7",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.0.2-ee.0",
"validation": null
},
{
"commit": "fd0f0b0338623a98e9368c30b600d603b966f8b7",
"elapsed_seconds": 0.024850749876350164,
"parent": "d4fdf90655c2cb5124dc2ecd8b449e1e16d0add5",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to 6b7558f",
"validation": null
},
{
"commit": "d4fdf90655c2cb5124dc2ecd8b449e1e16d0add5",
"elapsed_seconds": 0.024625750025734305,
"parent": "7767514a1ad4269a92a6610aa71aa8c595565a7d",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "7767514a1ad4269a92a6610aa71aa8c595565a7d",
"elapsed_seconds": 0.024628167040646076,
"parent": "df0ff4c4c1497d6449488b8577ad7188b55c41a9",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency types-setuptools to v70",
"validation": null
},
{
"commit": "df0ff4c4c1497d6449488b8577ad7188b55c41a9",
"elapsed_seconds": 0.024267167085781693,
"parent": "02a551d82327b879b7a903b56b7962da552d1089",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17.0.1-ee.0",
"validation": null
},
{
"commit": "02a551d82327b879b7a903b56b7962da552d1089",
"elapsed_seconds": 0.02417475008405745,
"parent": "d5de28884f695a79e49605a698c4f17b868ddeb8",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to 477a404",
"validation": null
},
{
"commit": "d5de28884f695a79e49605a698c4f17b868ddeb8",
"elapsed_seconds": 0.024519457947462797,
"parent": "1291dbb588d3a5a54ee54d9bb93c444ce23efa8c",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "1291dbb588d3a5a54ee54d9bb93c444ce23efa8c",
"elapsed_seconds": 0.033023165771737695,
"parent": "9acd2d23dd8c87586aa99c70b4b47fa47528472b",
"reason": "no eligible unit-test file",
"source_changed_lines": 5,
"source_paths": [
"gitlab/v4/objects/deploy_keys.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add a help message for `gitlab project-key enable`",
"validation": null
},
{
"commit": "9acd2d23dd8c87586aa99c70b4b47fa47528472b",
"elapsed_seconds": 0.03295387513935566,
"parent": "18aa1fc074b9f477cf0826933184bd594b63b489",
"reason": "no eligible unit-test file",
"source_changed_lines": 40,
"source_paths": [
"gitlab/cli.py",
"gitlab/v4/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add ability to add help to custom_actions",
"validation": null
},
{
"commit": "18aa1fc074b9f477cf0826933184bd594b63b489",
"elapsed_seconds": 0.032383792102336884,
"parent": "9b4b0efa1ccfb155aee8384de9e00f922b989850",
"reason": "no eligible unit-test file",
"source_changed_lines": 10,
"source_paths": [
"gitlab/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add `--no-mask-credentials` CLI argument",
"validation": null
},
{
"commit": "9b4b0efa1ccfb155aee8384de9e00f922b989850",
"elapsed_seconds": 0.03341916692443192,
"parent": "9c1c210c058dda9177dd6c54f0ac10a698ca94f7",
"reason": "no eligible unit-test file",
"source_changed_lines": 22,
"source_paths": [
"gitlab/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: sort CLI behavior-related args to remove",
"validation": null
},
{
"commit": "9c1c210c058dda9177dd6c54f0ac10a698ca94f7",
"elapsed_seconds": 0.03238949994556606,
"parent": "1b550ac706c8c31331a7a9dac607aed49f5e1fcf",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.6.0",
"validation": null
},
{
"commit": "1b550ac706c8c31331a7a9dac607aed49f5e1fcf",
"elapsed_seconds": 0.024172708857804537,
"parent": "4c7014c13ed63f994e05b498d63b93dc8ab90c2e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update python-semantic-release/upload-to-gh-release digest to 673709c",
"validation": null
},
{
"commit": "4c7014c13ed63f994e05b498d63b93dc8ab90c2e",
"elapsed_seconds": 0.02429874986410141,
"parent": "37b5a704ef6b94774e54110ba3746a950e733986",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "37b5a704ef6b94774e54110ba3746a950e733986",
"elapsed_seconds": 0.0241289169061929,
"parent": "d0fd5ad5a70e7eb70aedba5a0d3082418c5ffa34",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "update minimum dependency versions in pyproject.toml",
"validation": null
},
{
"commit": "d0fd5ad5a70e7eb70aedba5a0d3082418c5ffa34",
"elapsed_seconds": 0.024109083926305175,
"parent": "98fc5789d39b81197351660b7a3f18903c2b91ba",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: update commit reference in git-blame-ignore-revs",
"validation": null
},
{
"commit": "98fc5789d39b81197351660b7a3f18903c2b91ba",
"elapsed_seconds": 0.03301945817656815,
"parent": "20373525c1a1f98c18b953dbef896b2570d3d191",
"reason": "no eligible unit-test file",
"source_changed_lines": 4,
"source_paths": [
"gitlab/v4/objects/deploy_keys.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "don't require `--id` when enabling a deploy key",
"validation": null
},
{
"commit": "20373525c1a1f98c18b953dbef896b2570d3d191",
"elapsed_seconds": 0.03307037497870624,
"parent": "61d867925772cf38f20360c9b40140ac3203efb9",
"reason": "no eligible unit-test file",
"source_changed_lines": 11,
"source_paths": [
"gitlab/cli.py",
"gitlab/v4/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(cli): add ability to not add `_id_attr` as an argument",
"validation": null
},
{
"commit": "61d867925772cf38f20360c9b40140ac3203efb9",
"elapsed_seconds": 0.032611917005851865,
"parent": "74db84ca878ec7029643ff7b00db55f9ea085e9b",
"reason": "no eligible unit-test file",
"source_changed_lines": 29,
"source_paths": [
"gitlab/cli.py",
"gitlab/v4/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: create a CustomAction dataclass",
"validation": null
},
{
"commit": "74db84ca878ec7029643ff7b00db55f9ea085e9b",
"elapsed_seconds": 0.024968666955828667,
"parent": "7270523ad89a463c3542e072df73ba2255a49406",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add an initial .git-blame-ignore-revs",
"validation": null
},
{
"commit": "7270523ad89a463c3542e072df73ba2255a49406",
"elapsed_seconds": 0.034106708131730556,
"parent": "623dac9c8363c61dbf53f72af58835743e96656b",
"reason": "no eligible unit-test file",
"source_changed_lines": 318,
"source_paths": [
"gitlab/cli.py",
"gitlab/mixins.py",
"gitlab/v4/objects/artifacts.py",
"gitlab/v4/objects/ci_lint.py",
"gitlab/v4/objects/commits.py",
"gitlab/v4/objects/container_registry.py",
"gitlab/v4/objects/deploy_keys.py",
"gitlab/v4/objects/deployments.py",
"gitlab/v4/objects/environments.py",
"gitlab/v4/objects/files.py",
"gitlab/v4/objects/geo_nodes.py",
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/integrations.py",
"gitlab/v4/objects/issues.py",
"gitlab/v4/objects/jobs.py",
"gitlab/v4/objects/merge_requests.py",
"gitlab/v4/objects/milestones.py",
"gitlab/v4/objects/namespaces.py",
"gitlab/v4/objects/packages.py",
"gitlab/v4/objects/pipelines.py",
"gitlab/v4/objects/projects.py",
"gitlab/v4/objects/repositories.py",
"gitlab/v4/objects/runners.py",
"gitlab/v4/objects/secure_files.py",
"gitlab/v4/objects/sidekiq.py",
"gitlab/v4/objects/snippets.py",
"gitlab/v4/objects/todos.py",
"gitlab/v4/objects/topics.py",
"gitlab/v4/objects/users.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: require keyword arguments for register_custom_action",
"validation": null
},
{
"commit": "623dac9c8363c61dbf53f72af58835743e96656b",
"elapsed_seconds": 0.0331688339356333,
"parent": "d56912835360a1b5a03a20390fb45cb5e8b49ce4",
"reason": "no eligible unit-test file",
"source_changed_lines": 31,
"source_paths": [
"gitlab/v4/objects/iterations.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "add additional parameter to project/group iteration search",
"validation": null
},
{
"commit": "d56912835360a1b5a03a20390fb45cb5e8b49ce4",
"elapsed_seconds": 0.025693834060803056,
"parent": "1bc788ca979a36eeff2e35241bdefc764cf335ce",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: remove typing-extensions from requirements.txt",
"validation": null
},
{
"commit": "1bc788ca979a36eeff2e35241bdefc764cf335ce",
"elapsed_seconds": 0.028549459064379334,
"parent": "8fc13b91d63d57c704d03b98920522a6469c96d7",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency requests to v2.32.0 [security]",
"validation": null
},
{
"commit": "8fc13b91d63d57c704d03b98920522a6469c96d7",
"elapsed_seconds": 0.03840875020250678,
"parent": "ba1eec49556ee022de471aae8d15060189f816e3",
"reason": "no eligible unit-test file",
"source_changed_lines": 4,
"source_paths": [
"gitlab/client.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "don't raise `RedirectError` for redirected `HEAD` requests",
"validation": null
},
{
"commit": "ba1eec49556ee022de471aae8d15060189f816e3",
"elapsed_seconds": 0.02752112504094839,
"parent": "5070d07d13b9c87588dbfde3750340e322118779",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "5070d07d13b9c87588dbfde3750340e322118779",
"elapsed_seconds": 0.025800625095143914,
"parent": "f1ef5650c3201f3883eb04ad90a874e8adcbcde2",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v17",
"validation": null
},
{
"commit": "f1ef5650c3201f3883eb04ad90a874e8adcbcde2",
"elapsed_seconds": 0.03438950004056096,
"parent": "5a4a940f42e43ed066838503638fe612813e504f",
"reason": "no eligible unit-test file",
"source_changed_lines": 7,
"source_paths": [
"gitlab/cli.py",
"gitlab/v4/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(cli): on the CLI help show the API endpoint of resources",
"validation": null
},
{
"commit": "5a4a940f42e43ed066838503638fe612813e504f",
"elapsed_seconds": 0.033974166959524155,
"parent": "840572e4fa36581405b604a985d0e130fe43f4ce",
"reason": "no eligible unit-test file",
"source_changed_lines": 12,
"source_paths": [
"gitlab/v4/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(cli): add some simple help for the standard operations",
"validation": null
},
{
"commit": "840572e4fa36581405b604a985d0e130fe43f4ce",
"elapsed_seconds": 0.03365479107014835,
"parent": "62fa2719ea129b3428e5e67d3d3a493f9aead863",
"reason": "no eligible unit-test file",
"source_changed_lines": 7,
"source_paths": [
"gitlab/v4/objects/jobs.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: correct type-hint for `job.trace()`",
"validation": null
},
{
"commit": "62fa2719ea129b3428e5e67d3d3a493f9aead863",
"elapsed_seconds": 0.033466708147898316,
"parent": "b187deadabbfdf0326ecd79a3ee64c9de10c53e0",
"reason": "no eligible unit-test file",
"source_changed_lines": 1,
"source_paths": [
"gitlab/v4/objects/files.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add type info for ProjectFile.content",
"validation": null
},
{
"commit": "b187deadabbfdf0326ecd79a3ee64c9de10c53e0",
"elapsed_seconds": 1.4878943341318518,
"parent": "ef8f0e190b1add3bbba9a7b194aba2f3c1a83b2e",
"reason": null,
"source_changed_lines": 21,
"source_paths": [
"gitlab/v4/objects/__init__.py",
"gitlab/v4/objects/groups.py",
"gitlab/v4/objects/service_accounts.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_017",
"test_paths": [
"tests/unit/objects/test_groups.py"
],
"title": "add support for gitlab service account",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.4545442501548678,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4054504579398781,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n............................................................s........... [ 67%]\n........................................................................ [ 89%]\n.................................. [100%]\n319 passed, 3 skipped in 0.24s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4375380000565201,
"returncode": 1,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n.....FE................................................................. [ 44%]\n.............................................................s.......... [ 66%]\n........................................................................ [ 89%]\n................................... [100%]\n==================================== ERRORS ====================================\n____________ ERROR at teardown of test_create_group_service_account ____________\n\n @pytest.fixture\n def resp_create_group_service_account():\n> with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_groups.py:335: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x10be82390>, allow_assert = True\n\n def stop(self, allow_assert: bool = True) -> None:\n if self._patcher:\n # prevent stopping unstarted patchers\n self._patcher.stop()\n \n # once patcher is stopped, clean it. This is required to create a new\n # fresh patcher on self.start()\n self._patcher = None\n \n if not self.assert_all_requests_are_fired:\n return\n \n if not allow_assert:\n return\n \n not_called = [m for m in self.registered() if m.call_count == 0]\n if not_called:\n> raise AssertionError(\n \"Not all requests have been executed {!r}\".format(\n [(match.method, match.url) for match in not_called]\n )\n )\nE AssertionError: Not all requests have been executed [('POST', 'http://localhost/api/v4/groups/1/service_accounts')]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n______________________ test_create_group_service_account _______________________\n\ngroup = <Group id:1>\nresp_create_group_service_account = <responses.RequestsMock object at 0x10be82390>\n\n def test_create_group_service_account(group, resp_create_group_service_account):\n> service_account = group.service_accounts.create(\n {\"name\": \"gitlab-service-account\", \"username\": \"gitlab-service-account\"}\n )\n\ntests/unit/objects/test_groups.py:490: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <Group id:1>, name = 'service_accounts'\n\n def __getattr__(self, name: str) -> Any:\n if name in self.__dict__[\"_updated_attrs\"]:\n return self.__dict__[\"_updated_attrs\"][name]\n \n if name in self.__dict__[\"_attrs\"]:\n value = self.__dict__[\"_attrs\"][name]\n # If the value is a list, we copy it in the _updated_attrs dict\n # because we are not able to detect changes made on the object\n # (append, insert, pop, ...). Without forcing the attr\n # creation __setattr__ is never called, the list never ends up\n # in the _updated_attrs dict, and the update() and save()\n # method never push the new data to the server.\n # See https://github.com/python-gitlab/python-gitlab/issues/306\n #\n # note: _parent_attrs will only store simple values (int) so we\n # don't make this check in the next block.\n if isinstance(value, list):\n self.__dict__[\"_updated_attrs\"][name] = value[:]\n return self.__dict__[\"_updated_attrs\"][name]\n \n return value\n \n if name in self.__dict__[\"_parent_attrs\"]:\n return self.__dict__[\"_parent_attrs\"][name]\n \n message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n if self._created_from_list:\n message = (\n f\"{message}\\n\\n\"\n + textwrap.fill(\n f\"{self.__class__!r} was created via a list() call and \"\n f\"only a subset of the data may be present. To ensure \"\n f\"all data is present get the object using a \"\n f\"get(object.id) call. For more details, see:\"\n )\n + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n )\n elif self._lazy:\n message = f\"{message}\\n\\n\" + textwrap.fill(\n f\"If you tried to access object attributes returned from the server, \"\n f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n f\"not initialized with any data.\"\n )\n> raise AttributeError(message)\nE AttributeError: 'Group' object has no attribute 'service_accounts'\nE \nE If you tried to access object attributes returned from the server,\nE note that <class 'gitlab.v4.objects.groups.Group'> was created as a\nE `lazy` object and was not initialized with any data.\n\ngitlab/base.py:134: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_groups.py::test_create_group_service_account\nERROR tests/unit/objects/test_groups.py::test_create_group_service_account - ...\n1 failed, 318 passed, 3 skipped, 1 error in 0.27s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.00941220810636878,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.54900729120709,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n...........................................................s............ [ 67%]\n........................................................................ [ 89%]\n................................. [100%]\n318 passed, 3 skipped in 0.37s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00949754100292921,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "ef8f0e190b1add3bbba9a7b194aba2f3c1a83b2e",
"elapsed_seconds": 0.03576754196546972,
"parent": "33fbc14ea8432df7e637462379e567f4d0ad6c18",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/v4/objects/merge_request_approvals.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "handle large number of approval rules",
"validation": null
},
{
"commit": "33fbc14ea8432df7e637462379e567f4d0ad6c18",
"elapsed_seconds": 0.03388091712258756,
"parent": "12d195a35a1bd14947fbd6688a8ad1bd3fc21617",
"reason": "no eligible unit-test file",
"source_changed_lines": 3,
"source_paths": [
"gitlab/v4/objects/projects.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "fix 'import_project' file argument type for typings",
"validation": null
},
{
"commit": "12d195a35a1bd14947fbd6688a8ad1bd3fc21617",
"elapsed_seconds": 0.032837999984622,
"parent": "58d50f2d5eee79624a2bb018116c062f34dffcec",
"reason": "no eligible unit-test file",
"source_changed_lines": 9,
"source_paths": [
"gitlab/v4/objects/merge_request_approvals.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "more usernames support for MR approvals",
"validation": null
},
{
"commit": "58d50f2d5eee79624a2bb018116c062f34dffcec",
"elapsed_seconds": 0.036750500090420246,
"parent": "2d1b7499a93db2c9600b383e166f7463a5f22085",
"reason": "no eligible unit-test file",
"source_changed_lines": 2,
"source_paths": [
"gitlab/_version.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: release v4.5.0",
"validation": null
},
{
"commit": "2d1b7499a93db2c9600b383e166f7463a5f22085",
"elapsed_seconds": 1.2947538332082331,
"parent": "c5d0404ac9edfbfd328e7b4f07f554366377df3f",
"reason": null,
"source_changed_lines": 48,
"source_paths": [
"gitlab/v4/objects/job_token_scope.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_018",
"test_paths": [
"tests/unit/objects/test_job_token_scope.py"
],
"title": "support Groups in job token allowlist API",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.2602431250270456,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.4168325418140739,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 44%]\n...........................................................s............ [ 67%]\n........................................................................ [ 89%]\n................................. [100%]\n318 passed, 3 skipped in 0.24s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.24513833317905664,
"returncode": 2,
"stderr": "",
"stdout": "\n==================================== ERRORS ====================================\n_________ ERROR collecting tests/unit/objects/test_job_token_scope.py __________\nImportError while importing test module '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-wk9a_8_q/tree/tests/unit/objects/test_job_token_scope.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/opt/homebrew/Cellar/python@3.11/3.11.15_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/unit/objects/test_job_token_scope.py:9: in <module>\n from gitlab.v4.objects.job_token_scope import (\nE ImportError: cannot import name 'AllowlistGroupManager' from 'gitlab.v4.objects.job_token_scope' (/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-wk9a_8_q/tree/gitlab/v4/objects/job_token_scope.py)\n=========================== short test summary info ============================\nERROR tests/unit/objects/test_job_token_scope.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n1 error in 0.08s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009488207986578345,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5354779579211026,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 45%]\n.......................................................s................ [ 68%]\n........................................................................ [ 90%]\n............................. [100%]\n314 passed, 3 skipped in 0.36s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009653500048443675,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "c5d0404ac9edfbfd328e7b4f07f554366377df3f",
"elapsed_seconds": 1.457403291016817,
"parent": "c23e6bd5785205f0f4b4c80321153658fc23fb98",
"reason": null,
"source_changed_lines": 3,
"source_paths": [
"gitlab/v4/objects/pipelines.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_019",
"test_paths": [
"tests/unit/objects/test_jobs.py",
"tests/unit/objects/test_resource_groups.py"
],
"title": "Consider `scope` an ArrayAttribute in PipelineJobManager",
"validation": {
"commands": [
"python -m pytest -q tests/unit/objects"
],
"elapsed_seconds": 1.4226869160775095,
"gold": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.40396074997261167,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 45%]\n.......................................................s................ [ 68%]\n........................................................................ [ 90%]\n............................. [100%]\n314 passed, 3 skipped in 0.23s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.42500008293427527,
"returncode": 1,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n..............................................F......................... [ 45%]\n.......................................................s................ [ 68%]\n........................................................................ [ 90%]\n............................. [100%]\n=================================== FAILURES ===================================\n____________________________ test_list_project_job _____________________________\n\nproject = <Project id:1>\nresp_list_job = <responses.RequestsMock object at 0x113086610>\n\n def test_list_project_job(project, resp_list_job):\n failed_jobs = project.jobs.list(scope=\"failed\")\n success_jobs = project.jobs.list(scope=\"success\")\n failed_and_success_jobs = project.jobs.list(scope=[\"failed\", \"success\"])\n pipeline_lazy = project.pipelines.get(1, lazy=True)\n pjobs_failed = pipeline_lazy.jobs.list(scope=\"failed\")\n pjobs_success = pipeline_lazy.jobs.list(scope=\"success\")\n pjobs_failed_and_success = pipeline_lazy.jobs.list(scope=[\"failed\", \"success\"])\n \n prepared_urls = [c.request.url for c in resp_list_job.calls]\n \n # Both pipelines and pipelines/jobs should behave the same way\n # When `scope` is scalar, one can use scope=value or scope[]=value\n assert set(failed_and_success_jobs) == set(failed_jobs + success_jobs)\n assert set(pjobs_failed_and_success) == set(pjobs_failed + pjobs_success)\n> assert prepared_urls == [\n \"http://localhost/api/v4/projects/1/jobs?scope%5B%5D=failed\",\n \"http://localhost/api/v4/projects/1/jobs?scope%5B%5D=success\",\n \"http://localhost/api/v4/projects/1/jobs?scope%5B%5D=failed&scope%5B%5D=success\",\n \"http://localhost/api/v4/projects/1/pipelines/1/jobs?scope%5B%5D=failed\",\n \"http://localhost/api/v4/projects/1/pipelines/1/jobs?scope%5B%5D=success\",\n \"http://localhost/api/v4/projects/1/pipelines/1/jobs?scope%5B%5D=failed&scope%5B%5D=success\",\n ]\nE AssertionError: assert ['http://loca...cope=success'] == ['http://loca...B%5D=success']\nE \nE At index 3 diff: 'http://localhost/api/v4/projects/1/pipelines/1/jobs?scope=failed' != 'http://localhost/api/v4/projects/1/pipelines/1/jobs?scope%5B%5D=failed'\nE Use -v to get more diff\n\ntests/unit/objects/test_jobs.py:163: AssertionError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_jobs.py::test_list_project_job - AssertionErro...\n1 failed, 313 passed, 3 skipped in 0.25s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009690249804407358,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit/objects",
"elapsed_seconds": 0.5325255000498146,
"returncode": 0,
"stderr": "",
"stdout": "...............................................................s..s..... [ 22%]\n........................................................................ [ 45%]\n......................................................s................. [ 68%]\n........................................................................ [ 91%]\n............................ [100%]\n313 passed, 3 skipped in 0.35s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.009085542056709528,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
},
{
"commit": "c23e6bd5785205f0f4b4c80321153658fc23fb98",
"elapsed_seconds": 0.02565325004979968,
"parent": "b8b3849b2d4d3f2d9e81e5cf4f6b53368f7f0127",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [
"tests/unit/objects/test_project_merge_request_approvals.py"
],
"title": "use different ids for merge request, approval rule, project",
"validation": null
},
{
"commit": "b8b3849b2d4d3f2d9e81e5cf4f6b53368f7f0127",
"elapsed_seconds": 0.03397937514819205,
"parent": "4f338aed9c583a20ff5944e6ccbba5737c18b0f4",
"reason": "no eligible unit-test file",
"source_changed_lines": 60,
"source_paths": [
"gitlab/v4/objects/merge_request_approvals.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "fix saving merge request approval rules",
"validation": null
},
{
"commit": "4f338aed9c583a20ff5944e6ccbba5737c18b0f4",
"elapsed_seconds": 0.025064209010452032,
"parent": "9be48f0bcc2d32b5e8489f62f963389d5d54b2f2",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "9be48f0bcc2d32b5e8489f62f963389d5d54b2f2",
"elapsed_seconds": 0.024610541993752122,
"parent": "92891890eb4730bc240213a212d392bcb869b800",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v16.11.2-ee.0",
"validation": null
},
{
"commit": "92891890eb4730bc240213a212d392bcb869b800",
"elapsed_seconds": 0.024790290975943208,
"parent": "65d0e6520dcbcf5a708a87960c65fdcaf7e44bf3",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency myst-parser to v3",
"validation": null
},
{
"commit": "65d0e6520dcbcf5a708a87960c65fdcaf7e44bf3",
"elapsed_seconds": 0.023958041798323393,
"parent": "8ea10c360175453c721ad8e27386e642c2b68d88",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "8ea10c360175453c721ad8e27386e642c2b68d88",
"elapsed_seconds": 0.026582499966025352,
"parent": "1f0343c1154ca8ae5b1f61de1db2343a2ad652ec",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency jinja2 to v3.1.4 [security]",
"validation": null
},
{
"commit": "1f0343c1154ca8ae5b1f61de1db2343a2ad652ec",
"elapsed_seconds": 0.02697716699913144,
"parent": "683ce723352cc09e1a4b65db28be981ae6bb9f71",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "683ce723352cc09e1a4b65db28be981ae6bb9f71",
"elapsed_seconds": 0.025395666947588325,
"parent": "1ed8d6c21d3463b2ad09eb553871042e98090ffd",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: add FAQ about conflicting parameters",
"validation": null
},
{
"commit": "1ed8d6c21d3463b2ad09eb553871042e98090ffd",
"elapsed_seconds": 0.027452874928712845,
"parent": "d9aaa994568ad4896a1e8a0533ef0d1d2ba06bfa",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v16.11.1-ee.0",
"validation": null
},
{
"commit": "d9aaa994568ad4896a1e8a0533ef0d1d2ba06bfa",
"elapsed_seconds": 0.028278375044465065,
"parent": "0e9f4da30cea507fcf83746008d9de2ee5a3bb9d",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs(README): tweak GitLab CI usage docs",
"validation": null
},
{
"commit": "0e9f4da30cea507fcf83746008d9de2ee5a3bb9d",
"elapsed_seconds": 0.02864379179663956,
"parent": "48a6705558c5ab6fb08c62a18de350a5985099f8",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "48a6705558c5ab6fb08c62a18de350a5985099f8",
"elapsed_seconds": 0.028468249831348658,
"parent": "2d1f4872390df10174f865f7a935bc73f7865fec",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test: remove approve step",
"validation": null
},
{
"commit": "2d1f4872390df10174f865f7a935bc73f7865fec",
"elapsed_seconds": 0.025578541914001107,
"parent": "06266ea5966c601c035ad8ce5840729e5f9baa57",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: how to run smoke tests",
"validation": null
},
{
"commit": "06266ea5966c601c035ad8ce5840729e5f9baa57",
"elapsed_seconds": 0.025220791110768914,
"parent": "4bef47301342703f87c1ce1d2920d54f9927a66a",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test: tidy up functional tests",
"validation": null
},
{
"commit": "4bef47301342703f87c1ce1d2920d54f9927a66a",
"elapsed_seconds": 0.024996333988383412,
"parent": "b81da2e66ce385525730c089dbc2a5a85ba23287",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test: update api tests for GL 16.10",
"validation": null
},
{
"commit": "b81da2e66ce385525730c089dbc2a5a85ba23287",
"elapsed_seconds": 0.026091666892170906,
"parent": "c64d126142cc77eae4297b8deec27bb1d68b7a13",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(functional): enable bulk import feature flag before test",
"validation": null
},
{
"commit": "c64d126142cc77eae4297b8deec27bb1d68b7a13",
"elapsed_seconds": 0.025690083159133792,
"parent": "f8283ae69efd86448ae60d79dd8321af3f19ba1b",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test: don't use weak passwords",
"validation": null
},
{
"commit": "f8283ae69efd86448ae60d79dd8321af3f19ba1b",
"elapsed_seconds": 0.025259542046114802,
"parent": "ea8c4c2bc9f17f510415a697e0fb19cabff4135e",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test: update tests for gitlab 16.8 functionality",
"validation": null
},
{
"commit": "ea8c4c2bc9f17f510415a697e0fb19cabff4135e",
"elapsed_seconds": 0.025760416872799397,
"parent": "ee013fe1579b001b4b30bae33404e827c7bdf8c1",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update gitlab/gitlab-ee docker tag to v16",
"validation": null
},
{
"commit": "ee013fe1579b001b4b30bae33404e827c7bdf8c1",
"elapsed_seconds": 0.02472887490876019,
"parent": "57dfd1769b4e22b43dc0936aa3600cd7e78ba289",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "test(smoke): normalize all dist titles for smoke tests",
"validation": null
},
{
"commit": "57dfd1769b4e22b43dc0936aa3600cd7e78ba289",
"elapsed_seconds": 0.024598750052973628,
"parent": "4ef94c8260e958873bb626e86d3241daa22f7ce6",
"reason": "excluded dependency/format/generated/revert subject",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs(objects): minor rst formatting typo",
"validation": null
},
{
"commit": "4ef94c8260e958873bb626e86d3241daa22f7ce6",
"elapsed_seconds": 0.024960624985396862,
"parent": "c53e6954f097ed10d52b40660d2fba73c2e0e300",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "build: Add \"--no-cache-dir\" to pip commands in Dockerfile",
"validation": null
},
{
"commit": "c53e6954f097ed10d52b40660d2fba73c2e0e300",
"elapsed_seconds": 0.024726208997890353,
"parent": "001e59675f4a417a869f813d79c298a14268b87d",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: correct rotate token example",
"validation": null
},
{
"commit": "001e59675f4a417a869f813d79c298a14268b87d",
"elapsed_seconds": 0.032728082966059446,
"parent": "6d4bffb5aaa676d32fc892ef1ac002973bc040cb",
"reason": "no eligible unit-test file",
"source_changed_lines": 14,
"source_paths": [
"gitlab/cli.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "allow skipping initial auth calls",
"validation": null
},
{
"commit": "6d4bffb5aaa676d32fc892ef1ac002973bc040cb",
"elapsed_seconds": 0.02425649994984269,
"parent": "d5b5fb00d8947ed9733cbb5a273e2866aecf33bf",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "docs: Note how to use the Docker image from within GitLab CI",
"validation": null
},
{
"commit": "d5b5fb00d8947ed9733cbb5a273e2866aecf33bf",
"elapsed_seconds": 0.024545209016650915,
"parent": "db3200089ea83588ea7ad8bd5a7175d81f580630",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "db3200089ea83588ea7ad8bd5a7175d81f580630",
"elapsed_seconds": 0.024475791957229376,
"parent": "dd00bfc9c832aba0ed377573fe2e9120b296548d",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency pytest-cov to v5",
"validation": null
},
{
"commit": "dd00bfc9c832aba0ed377573fe2e9120b296548d",
"elapsed_seconds": 0.03290341584943235,
"parent": "f6e8692cfc84b5af2eb6deec4ae1c4935b42e91c",
"reason": "no eligible unit-test file",
"source_changed_lines": 3,
"source_paths": [
"gitlab/utils.py"
],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: update `mypy` to 1.9.0 and resolve one issue",
"validation": null
},
{
"commit": "f6e8692cfc84b5af2eb6deec4ae1c4935b42e91c",
"elapsed_seconds": 0.024173625046387315,
"parent": "14a3ffe4cc161be51a39c204350b5cd45c602335",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update dependency black to v24.3.0 [security]",
"validation": null
},
{
"commit": "14a3ffe4cc161be51a39c204350b5cd45c602335",
"elapsed_seconds": 0.024092915933579206,
"parent": "3c4dccaf51695334a5057b85d5ff4045739d1ad1",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "3c4dccaf51695334a5057b85d5ff4045739d1ad1",
"elapsed_seconds": 0.024494417011737823,
"parent": "04c569a2130d053e35c1f2520ef8bab09f2f9651",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "04c569a2130d053e35c1f2520ef8bab09f2f9651",
"elapsed_seconds": 0.024477291852235794,
"parent": "d7235c74f8605f4abfb11eb257246864c7dcf709",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore(deps): update all non-major dependencies",
"validation": null
},
{
"commit": "d7235c74f8605f4abfb11eb257246864c7dcf709",
"elapsed_seconds": 0.02406758302822709,
"parent": "679ddc7587d2add676fd2398cb9673bd1ca272e3",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add tox `labels` to enable running groups of environments",
"validation": null
},
{
"commit": "679ddc7587d2add676fd2398cb9673bd1ca272e3",
"elapsed_seconds": 0.024188874987885356,
"parent": "529f1faacee46a88cb0a542306309eb835516796",
"reason": "no eligible production source file",
"source_changed_lines": 0,
"source_paths": [],
"status": "rejected",
"task_id": null,
"test_paths": [],
"title": "chore: add py312 & py313 to tox environment list",
"validation": null
},
{
"commit": "529f1faacee46a88cb0a542306309eb835516796",
"elapsed_seconds": 8.403202666901052,
"parent": "e11d889cd19ec1555b2bbee15355a8cdfad61d5f",
"reason": null,
"source_changed_lines": 3,
"source_paths": [
"gitlab/utils.py"
],
"status": "selected",
"task_id": "TASK_S2_R003_020",
"test_paths": [
"tests/unit/test_gitlab_http_methods.py"
],
"title": "user.warn() to show correct filename of issue",
"validation": {
"commands": [
"python -m pytest -q tests/unit"
],
"elapsed_seconds": 8.370321084046736,
"gold": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.6732531669549644,
"returncode": 0,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 27%]\n........................................................................ [ 34%]\n........................................................................ [ 41%]\n........................................................................ [ 48%]\n........................................................................ [ 55%]\n............s..s........................................................ [ 62%]\n........................................................................ [ 69%]\n...s.................................................................... [ 76%]\n........................................................................ [ 83%]\n........................................................................ [ 90%]\n........................................................................ [ 97%]\n............................. [100%]\n1034 passed, 3 skipped in 2.48s\n",
"timed_out": false
}
],
"hidden": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.7459403339307755,
"returncode": 1,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 27%]\n........................................................................ [ 34%]\n........................................................................ [ 41%]\n........................................................................ [ 48%]\n........................................................................ [ 55%]\n............s..s........................................................ [ 62%]\n........................................................................ [ 69%]\n...s.................................................................... [ 76%]\n........................................................................ [ 83%]\n........................................................................ [ 90%]\n..........................................F............................. [ 97%]\n............................. [100%]\n=================================== FAILURES ===================================\n_____________________ test_list_request_pagination_warning _____________________\n\ngl = <gitlab.client.Gitlab object at 0x115cd3210>\n\n @responses.activate\n def test_list_request_pagination_warning(gl):\n responses.add(**large_list_response)\n \n with warnings.catch_warnings(record=True) as caught_warnings:\n result = gl.http_list(\"/projects\", iterator=False)\n assert len(caught_warnings) == 1\n warning = caught_warnings[0]\n assert isinstance(warning.message, UserWarning)\n message = str(warning.message)\n assert \"Calling a `list()` method\" in message\n assert \"python-gitlab.readthedocs.io\" in message\n> assert __file__ in message\nE AssertionError: assert '/private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-wz1rjcxg/tree/tests/unit/test_gitlab_http_methods.py' in 'Calling a `list()` method without specifying `get_all=True` or `iterator=True` will return a maximum of 20 items. You...ython-gitlab: /private/var/folders/mv/1101q6r16619mvm7kc7f3lt80000gn/T/study2-r003-wz1rjcxg/tree/gitlab/client.py:955)'\n\ntests/unit/test_gitlab_http_methods.py:603: AssertionError\n=========================== short test summary info ============================\nFAILED tests/unit/test_gitlab_http_methods.py::test_list_request_pagination_warning\n1 failed, 1033 passed, 3 skipped in 2.56s\n",
"timed_out": false
}
],
"hidden_apply": {
"elapsed_seconds": 0.009812166914343834,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"original": [
{
"command": "python -m pytest -q tests/unit",
"elapsed_seconds": 2.8897526250220835,
"returncode": 0,
"stderr": "",
"stdout": "........................................................................ [ 6%]\n........................................................................ [ 13%]\n........................................................................ [ 20%]\n........................................................................ [ 27%]\n........................................................................ [ 34%]\n........................................................................ [ 41%]\n........................................................................ [ 48%]\n........................................................................ [ 55%]\n............s..s........................................................ [ 62%]\n........................................................................ [ 69%]\n...s.................................................................... [ 76%]\n........................................................................ [ 83%]\n........................................................................ [ 90%]\n........................................................................ [ 97%]\n............................. [100%]\n1034 passed, 3 skipped in 2.69s\n",
"timed_out": false
}
],
"reason": null,
"source_apply": {
"elapsed_seconds": 0.00968533311970532,
"returncode": 0,
"stderr": "",
"stdout": ""
},
"valid": true
}
}
],
"complete": true,
"repository": {
"language": "python",
"name": "python_gitlab",
"path": "/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/data/repos/python-gitlab",
"pinned_head": "f62dda7fa44e3bc46f03bd6402eba3f641f365eb",
"repository_id": "R003",
"repository_url": "https://gitlab.com/python-gitlab/python-gitlab.git"
},
"schema_version": 1,
"selected_count": 20,
"selected_task_ids": [
"TASK_S2_R003_001",
"TASK_S2_R003_002",
"TASK_S2_R003_003",
"TASK_S2_R003_004",
"TASK_S2_R003_005",
"TASK_S2_R003_006",
"TASK_S2_R003_007",
"TASK_S2_R003_008",
"TASK_S2_R003_009",
"TASK_S2_R003_010",
"TASK_S2_R003_011",
"TASK_S2_R003_012",
"TASK_S2_R003_013",
"TASK_S2_R003_014",
"TASK_S2_R003_015",
"TASK_S2_R003_016",
"TASK_S2_R003_017",
"TASK_S2_R003_018",
"TASK_S2_R003_019",
"TASK_S2_R003_020"
],
"selection_policy": {
"max_source_changed_lines": 400,
"max_source_files": 8,
"max_test_files": 8,
"since": "2023-01-01",
"target": 20,
"test_timeout_seconds": 240
}
}