airflow icon indicating copy to clipboard operation
airflow copied to clipboard

Fix selective tests checks when system tests are modified

Open potiuk opened this issue 2 months ago • 1 comments

When providers system tests were modified in provider tests were modified, selective checks had two bugs that compounded led to provider tests being skipped.

  1. Modification of system tests lead to "all providers affected" condition (wrongly) - because "TESTS" were checked as root path before "SYSTEM TESTS" - and since system tests were subfolder of tests, the code that checked if system tests path belongs to provider never found it.

  2. "All Providers affected" in such case (when it was not caused by another condition lead to "skip-provider-tests" set to true due to missing "else" in one of the conditions.

This PR fixes both cases and simplifies the conditions so that they are easier to understand and modify. Those conditions will be further simplified when we separate providers to separate projects #44511 because there we will not have to check separately several sub-folders of airflow, but for now it's good enough.

Some of those conditions are simplified as well because we are in Python 3.9+ and "is_relative_to" is now available in Path.


^ Add meaningful description above Read the Pull Request Guidelines for more information. In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed. In case of a new dependency, check compliance with the ASF 3rd Party License Policy. In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

potiuk avatar Dec 21 '24 08:12 potiuk