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

pkgdev tatt: new tool for package testing #109

Merged
merged 2 commits into from
Jan 5, 2023

Conversation

arthurzam
Copy link
Member

@arthurzam arthurzam commented Dec 15, 2022

This depends on pkgcore/pkgcore#380. If you want to test this PR, please apply both PRs to relevant projects.

This is a new tool, replacing tatt, and uses the new fast REQUIRED_USE solver. This tool has a lot of command line options, but my idea was that most are filled in pkgdev.conf, and then the invocations should be simple.

For example:

[DEFAULT]
tatt.ignore-prefixes = elibc_,video_cards_,linguas_,python_targets_,python_single_target_,kdeenablefinal,test,debug,qemu_user_,qemu_softmmu_,libressl,static-libs,systemd,sdjournal,eloginid,doc,ruby_targets_
tatt.job-name = {BUGNO}
tatt.test =
tatt.use-combos = 1
tatt.use-expand-random =
tatt.logs-dir = ~/logs
tatt.emerge-opts = --autounmask-keep-keywords=y --autounmask-use=y --autounmask-continue --autounmask-write

And then you can call:
pkgdev tatt -b 886097

TODO

  • Add tests
  • Add docs to each cmdline arg
  • Test is on some devboxes

@arthurzam arthurzam marked this pull request as draft December 15, 2022 19:49
@codecov
Copy link

codecov bot commented Dec 15, 2022

Codecov Report

Base: 90.12% // Head: 80.56% // Decreases project coverage by -9.56% ⚠️

Coverage data is based on head (a051594) compared to base (b08761b).
Patch coverage: 0.00% of modified lines in pull request are covered.

❗ Current head a051594 differs from pull request most recent head ba36d58. Consider uploading reports for the commit ba36d58 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #109      +/-   ##
==========================================
- Coverage   90.12%   80.56%   -9.57%     
==========================================
  Files          13       14       +1     
  Lines        1205     1348     +143     
  Branches      281      319      +38     
==========================================
  Hits         1086     1086              
- Misses         93      235     +142     
- Partials       26       27       +1     
Impacted Files Coverage Δ
src/pkgdev/scripts/pkgdev_tatt.py 0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

Copy link
Contributor

@ferringb ferringb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feel free to ignore- this is just a drive by reading of the code w/ some comments.

src/pkgdev/scripts/pkgdev_tatt.py Outdated Show resolved Hide resolved
src/pkgdev/tatt/template.sh.jinja Outdated Show resolved Hide resolved
src/pkgdev/tatt/template.sh.jinja Outdated Show resolved Hide resolved
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
#}
#!/bin/bash
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must this be bash? My rough thought here was a python script that had the argument list just json blobbed into it, and then it feeds that back to the pkgdev_tatt code.

Pardon if that's assinine, I'm just going through the code and learning. :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My idea is to create a good replacement for tatt tool, and not a full wrapper. Folks can use other jinja templates (--template-file) to create a whole other possibilities. For a more sophisticated tool, like a testing server, maybe this more inline with tattoo.

src/pkgdev/scripts/pkgdev_tatt.py Outdated Show resolved Hide resolved
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
@arthurzam arthurzam marked this pull request as ready for review January 5, 2023 16:23
@gentoo-bot gentoo-bot merged commit ba36d58 into pkgcore:main Jan 5, 2023
@gentoo-bot gentoo-bot temporarily deployed to github-pages January 5, 2023 16:28 — with GitHub Actions Inactive
@arthurzam arthurzam deleted the pkgdev-tatt branch January 5, 2023 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants