Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Improves #252
What is the purpose of this pull request?
Which crates are being modified?
Description
This re-structure aims to optmize developer flow and the experience with tests tool through 1) a replacement of the current python package management; 2) a more organized folder tree strucutre inside tests/; and 3) changes in tests/run_tests.py, tests/prepare.sh and tests/run.sh to comply with the already mentioned changes.
The replacement in python package management is from poetry to uv (a rust-based python management tool); this approach have some PROS: (i) built with rust; (ii) faster than poetry; (iii) cleanup some unecessary python dependencies; (iv) more readable pyproject.toml; (v) compatible with python pip install -r approach (for old-school pythonists). Until now, a CON is: (i) this remove some poetry macros. Still seems like a good replacement.
The folder structure organization allows you to define test suites in separate folders (e.g. "florestad", "floresta-cli") without needing to define each of them in pyproject.toml. Files ending with "-test.py" in each folder will be recognized and executed.
To comply with above mentioned changes, tests/run_tests.py was modified to inlcude an argument
--test-suite
that will search for a foldertests/<test-suite>
. It was also necessary to changetests/prepare.sh
andtests/run.sh
to replace poetry to uv.Notes to the reviewers
A better context about this change is available in #252 (comment) and #391. Tested this approach in https://github.com/qlrd/Floresta/actions/runs/13722793641/job/38381971781
Checklist
just lint
cargo test