Skip to content

🧹 Test Suite Cleanup: Permanent Issue #3155

@abn

Description

@abn

Hi there! This issue is a permanent issue dedicated as a hub for efforts to improve the quality of the test suite. If you have questions talk to the community on our Discord server.

If you have a question about a particular issue, or pull request just tag @python-poetry/triage in a comment.

This is a great issue to work on if you are new to the Poetry code base and want to start contributing. Over the years the Poetry test suite has grown significantly -- this means that there is significant a amount of code duplication that is hard to maintain and inefficient .

If you are submitting a pull request associated with this, please keep the pull requests small and modular. This means, do not do too much in one PR and try to do only closely related changes in on PR. Additionally, make sure you add Relates-to: (not Closes: or Fixes: or Resolves:) to your PR description.

Relates-to: #3155

If this is your first contribution here, please refer to #3061 before continuing.

Ongoing Improvements

Convert reused code/logic into fixtures

There is a significant amount of code and data duplication in the test suite that can be converted to pytest fixtures.

Adding coverage

There are certain code paths within the codebase that may not necessarily be covered within the test suite. You can.

a) Find them, and raise an issue to cover them.
b) (a) and also write some tests.

Known missing:

Improve Parallel Safety

Presently, because a lot of tests generate and cleanup package metadata, or share resources the tests suite is not parallel execution safe. Any improvements towards this goal is always welcome. Most of this will be covered by proper use of fixtures, but identifying shared file resources being used and working on on-write copies would go a long way in this goal.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions