Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add packse (Python packaging scenarios) to Pip's test suite #12526

Open
1 task done
notatallshaw opened this issue Feb 16, 2024 · 6 comments · May be fixed by #12580
Open
1 task done

Add packse (Python packaging scenarios) to Pip's test suite #12526

notatallshaw opened this issue Feb 16, 2024 · 6 comments · May be fixed by #12580
Labels
C: tests Testing and related things type: maintenance Related to Development and Maintenance Processes

Comments

@notatallshaw
Copy link
Contributor

notatallshaw commented Feb 16, 2024

What's the problem this feature will solve?

It seems astral has spun out a specific repository for Python packaging scenarios: https://github.com/zanieb/packse

Describe the solution you'd like

Perhaps all these scenarios are already covered by Pip, but it seems like it would do no harm to run these during testing?

Alternative Solutions

Analyse and convert these manually to Pip's test suite

Additional context

I only just found out about this repo, so I don't know what the lift is to try and use it for Pip testing.

But I would be happy to investigate and see if I can make a PR some time unless there is major objection from Pip devs. Would be at least a couple of months until I could spend time on this, so I'm not volunteering myself to lead this immediately.

Code of Conduct

@notatallshaw notatallshaw added S: needs triage Issues/PRs that need to be triaged type: feature request Request for a new feature labels Feb 16, 2024
@pfmoore
Copy link
Member

pfmoore commented Feb 16, 2024

I'd be happy to have them covered somehow, but IMO we need to be careful not to significantly increase the runtime of the test suite any further - our tests are already sufficiently slow that it's a problem.

@zanieb
Copy link

zanieb commented Feb 17, 2024

Happy to help out with this in whatever way possible, just let me know.

@uranusjr
Copy link
Member

Instead of doing this as a part of the default CI, maybe we can run this periodically instead (on a less frequent schedule) and create an issue if it fails?

@notatallshaw
Copy link
Contributor Author

Let's see how long it will take first, if it's less than a minute it seems like it would be worth catching on each PR.

The CI tooling already missed that removing setup.py broke many tests due to not running.

@notatallshaw
Copy link
Contributor Author

Okay, I gave this a try and I have this experimentally working with pip.

Using a very naive check I have 26 failing tests and 66 passing tests, but I have not done any debugging yet to see if I'm doing something wrong, so I may have a draft PR ready to go this weekend.

The total time on my PC takes 67 seconds to run and requires Python 3.12+. I am considering making it it's own seperate runner, as I don't think the tests need to run against every platform?

@pradyunsg pradyunsg added C: tests Testing and related things type: maintenance Related to Development and Maintenance Processes and removed type: feature request Request for a new feature S: needs triage Issues/PRs that need to be triaged labels Mar 16, 2024
@notatallshaw notatallshaw linked a pull request Mar 17, 2024 that will close this issue
@notatallshaw
Copy link
Contributor Author

Okay, I've created a draft PR: #12580

There's still work to do on some scenarios/tests, but I think the general approach is there.

I would appreciate feedback from both pip and packse maintainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: tests Testing and related things type: maintenance Related to Development and Maintenance Processes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants