-
Notifications
You must be signed in to change notification settings - Fork 162
Add example tests for artifact providers #4449
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
Conversation
dc828a0 to
ca4c960
Compare
ca4c960 to
a5284c8
Compare
LecrisUT
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the goal for this PR to split the /tests/prepare/artifact into individual provider tests? If so, why not add it to it instead? For example you can add a for loop in the test.sh to loop over each provider if that is the intent.
One concern with the current approach is that the koji list-tagged logic is quite non-trivial and would prefer to be defined in a single place.
d3d3e13 to
92bad06
Compare
92bad06 to
6e7c129
Compare
tcornell-bus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor questions, but LGTM overall!
tcornell-bus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but in the tests on fedora-rawhide there is an issue with finding make on koji I guess?
b0c23dc to
d3a60c8
Compare
Yes, this is 1st PR for the issue (This provides more of a framework and common functions). I will send separate PR's for each of the other providers to keep it simple for the reviewers. Used Related to to link the PR instead. |
cb2c5b3 to
b8f1dbe
Compare
b8f1dbe to
f6ca434
Compare
Add simple, example-based integration tests for artifact providers: - koji.build: Fetches packages from Koji using build IDs - repository-url: Configures external package repositories - multi: Demonstrates using multiple providers together These tests serve as usage examples and verify basic functionality. Each test: - Shows clear usage of the --provide argument - Runs a complete tmt workflow - Verifies packages are installed correctly Once the design is approved, additional providers (koji.task, koji.nvr, file, copr.build, brew.*) can be added following the same pattern. Related to #4420
- Remove plan file test phases, keep only CLI override tests - Use koji.build:DUMMY placeholder with explanatory comments - Enhance lib/common.sh with perl regex documentation and rlLog wrappers - Refactor parent test.sh to use shared get_koji_build_id function - Fix FMF inheritance: add test selector to parent, remove duplicate tags - Improve assertions to check specific log messages - Add package source verification using dnf info --installed
Prevents stale values from persisting if the function is called multiple times and fails on a subsequent call.
- Change grep -eq to -Eq (capital E enables extended regex for \s*) - Update regex to handle dnf5 output format which has space before colon (e.g., "From repository :" instead of "From repository:")
f6ca434 to
3a9909b
Compare
Add example-based integration test for the copr-repository artifact provider using mariobl/pyspread Copr repository. The test verifies that the pyspread package can be installed from the Copr repository and checks the package source. Related to #4449
Add example-based integration test for the copr-repository artifact provider using mariobl/pyspread Copr repository. The test verifies that the pyspread package can be installed from the Copr repository and checks the package source. Related to #4449
Add example-based integration test for the copr-repository artifact provider using mariobl/pyspread Copr repository. The test verifies that the pyspread package can be installed from the Copr repository and checks the package source. Related to #4449
Add example-based integration test for the copr-repository artifact provider using mariobl/pyspread Copr repository. The test verifies that the pyspread package can be installed from the Copr repository and checks the package source. Related to #4449
Add example-based integration test for the copr-repository artifact provider using mariobl/pyspread Copr repository. The test verifies that the pyspread package can be installed from the Copr repository and checks the package source. Related to #4449
Add simple, example-based integration tests for artifact providers:
Once the design is approved, additional providers (koji.task, koji.nvr, file, copr.build, brew.*) can be added following the same pattern.
Related to #4420