This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 5f8fed97fc Add option to skip selected providers during tests (#39539)
5f8fed97fc is described below

commit 5f8fed97fc10ec88d4ec856f3ca302dca114c0a9
Author: Jarek Potiuk <[email protected]>
AuthorDate: Fri May 10 12:50:36 2024 +0200

    Add option to skip selected providers during tests (#39539)
    
    This will be helpful when we add Airflow 2.8 and 2.7 to compatiblity
    tests for providers.
---
 dev/breeze/doc/images/output_testing_db-tests.svg  | 30 +++++++++++++++-------
 dev/breeze/doc/images/output_testing_db-tests.txt  |  2 +-
 .../doc/images/output_testing_non-db-tests.svg     | 30 +++++++++++++++-------
 .../doc/images/output_testing_non-db-tests.txt     |  2 +-
 dev/breeze/doc/images/output_testing_tests.svg     | 30 +++++++++++++++-------
 dev/breeze/doc/images/output_testing_tests.txt     |  2 +-
 .../airflow_breeze/commands/testing_commands.py    | 17 ++++++++++++
 .../commands/testing_commands_config.py            |  3 +++
 8 files changed, 86 insertions(+), 30 deletions(-)

diff --git a/dev/breeze/doc/images/output_testing_db-tests.svg 
b/dev/breeze/doc/images/output_testing_db-tests.svg
index 5f027ac112..0860964ad8 100644
--- a/dev/breeze/doc/images/output_testing_db-tests.svg
+++ b/dev/breeze/doc/images/output_testing_db-tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 2441.2" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 2514.3999999999996" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-db-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="2390.2" />
+      <rect x="0" y="0" width="1463.0" height="2463.3999999999996" />
     </clipPath>
     <clipPath id="breeze-testing-db-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -336,9 +336,18 @@
 <clipPath id="breeze-testing-db-tests-line-96">
     <rect x="0" y="2343.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-db-tests-line-97">
+    <rect x="0" y="2368.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-testing-db-tests-line-98">
+    <rect x="0" y="2392.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-testing-db-tests-line-99">
+    <rect x="0" y="2417.1" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2439.2" rx="8"/><text 
class="breeze-testing-db-tests-title" fill="#c5c8c6" text-anchor="middle" 
x="740" y="27">Command:&#160;testing&#160;db-tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2512.4" rx="8"/><text 
class="breeze-testing-db-tests-title" fill="#c5c8c6" text-anchor="middle" 
x="740" y="27">Command:&#160;testing&#160;db-tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -440,12 +449,15 @@
 </text><text class="breeze-testing-db-tests-r5" x="0" y="2191.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-89)">│</text><text 
class="breeze-testing-db-tests-r6" x="768.6" y="2191.6" textLength="671" 
clip-path="url(#breeze-testing-db-tests-line-89)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove&#160;|&#160;tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-testing-db-tests-r5" x="1 [...]
 </text><text class="breeze-testing-db-tests-r5" x="0" y="2216" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-90)">│</text><text 
class="breeze-testing-db-tests-r5" x="768.6" y="2216" textLength="671" 
clip-path="url(#breeze-testing-db-tests-line-90)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
 </text><text class="breeze-testing-db-tests-r5" x="0" y="2240.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-91)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2240.4" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-91)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2240.4" textLength="61" 
clip-path="url(#breeze-testing-db-tests-line-91)">-skip</text><text 
class="breeze-testing-db-tests-r4" x="97.6" y="2240.4" textLength="24 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="2264.8" 
textLength="1464" 
clip-path="url(#breeze-testing-db-tests-line-92)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-db-tests-r1" x="1464" y="2264.8" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-92)">
-</text><text class="breeze-testing-db-tests-r5" x="0" y="2289.2" 
textLength="24.4" 
clip-path="url(#breeze-testing-db-tests-line-93)">╭─</text><text 
class="breeze-testing-db-tests-r5" x="24.4" y="2289.2" textLength="195.2" 
clip-path="url(#breeze-testing-db-tests-line-93)">&#160;Common&#160;options&#160;</text><text
 class="breeze-testing-db-tests-r5" x="219.6" y="2289.2" textLength="1220" 
clip-path="url(#breeze-testing-db-tests-line-93)">────────────────────────────────────────────────────
 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="2313.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-94)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2313.6" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-94)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2313.6" textLength="48.8" 
clip-path="url(#breeze-testing-db-tests-line-94)">-dry</text><text 
class="breeze-testing-db-tests-r4" x="85.4" y="2313.6" textLength="4 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="2338" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-95)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2338" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-95)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2338" textLength="97.6" 
clip-path="url(#breeze-testing-db-tests-line-95)">-verbose</text><text 
class="breeze-testing-db-tests-r7" x="158.6" y="2338" textLength="24.4 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="2362.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-96)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2362.4" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-96)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2362.4" textLength="61" 
clip-path="url(#breeze-testing-db-tests-line-96)">-help</text><text 
class="breeze-testing-db-tests-r7" x="158.6" y="2362.4" textLength="2 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="2386.8" 
textLength="1464" 
clip-path="url(#breeze-testing-db-tests-line-97)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-db-tests-r1" x="1464" y="2386.8" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-97)">
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2264.8" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-92)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2264.8" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-92)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2264.8" textLength="61" 
clip-path="url(#breeze-testing-db-tests-line-92)">-skip</text><text 
class="breeze-testing-db-tests-r4" x="97.6" y="2264.8" textLength="12 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2289.2" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-93)">│</text><text 
class="breeze-testing-db-tests-r1" x="768.6" y="2289.2" textLength="671" 
clip-path="url(#breeze-testing-db-tests-line-93)">tests&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2313.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-94)">│</text><text 
class="breeze-testing-db-tests-r6" x="768.6" y="2313.6" textLength="671" 
clip-path="url(#breeze-testing-db-tests-line-94)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2338" 
textLength="1464" 
clip-path="url(#breeze-testing-db-tests-line-95)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-db-tests-r1" x="1464" y="2338" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-95)">
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2362.4" 
textLength="24.4" 
clip-path="url(#breeze-testing-db-tests-line-96)">╭─</text><text 
class="breeze-testing-db-tests-r5" x="24.4" y="2362.4" textLength="195.2" 
clip-path="url(#breeze-testing-db-tests-line-96)">&#160;Common&#160;options&#160;</text><text
 class="breeze-testing-db-tests-r5" x="219.6" y="2362.4" textLength="1220" 
clip-path="url(#breeze-testing-db-tests-line-96)">────────────────────────────────────────────────────
 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2386.8" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-97)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2386.8" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-97)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2386.8" textLength="48.8" 
clip-path="url(#breeze-testing-db-tests-line-97)">-dry</text><text 
class="breeze-testing-db-tests-r4" x="85.4" y="2386.8" textLength="4 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2411.2" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-98)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2411.2" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-98)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2411.2" textLength="97.6" 
clip-path="url(#breeze-testing-db-tests-line-98)">-verbose</text><text 
class="breeze-testing-db-tests-r7" x="158.6" y="2411.2" textLeng [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2435.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-99)">│</text><text 
class="breeze-testing-db-tests-r4" x="24.4" y="2435.6" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-99)">-</text><text 
class="breeze-testing-db-tests-r4" x="36.6" y="2435.6" textLength="61" 
clip-path="url(#breeze-testing-db-tests-line-99)">-help</text><text 
class="breeze-testing-db-tests-r7" x="158.6" y="2435.6" textLength="2 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="2460" 
textLength="1464" 
clip-path="url(#breeze-testing-db-tests-line-100)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-db-tests-r1" x="1464" y="2460" textLength="12.2" 
clip-path="url(#breeze-testing-db-tests-line-100)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_db-tests.txt 
b/dev/breeze/doc/images/output_testing_db-tests.txt
index 97fe8c48e7..1648cc7cbb 100644
--- a/dev/breeze/doc/images/output_testing_db-tests.txt
+++ b/dev/breeze/doc/images/output_testing_db-tests.txt
@@ -1 +1 @@
-c020103d6f3563f684507a5db193c171
+31bee62efc24fa61aa868a0643e0db6b
diff --git a/dev/breeze/doc/images/output_testing_non-db-tests.svg 
b/dev/breeze/doc/images/output_testing_non-db-tests.svg
index e9d238b6a6..1b0303f5de 100644
--- a/dev/breeze/doc/images/output_testing_non-db-tests.svg
+++ b/dev/breeze/doc/images/output_testing_non-db-tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 2246.0" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 2319.2" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-non-db-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="2195.0" />
+      <rect x="0" y="0" width="1463.0" height="2268.2" />
     </clipPath>
     <clipPath id="breeze-testing-non-db-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -312,9 +312,18 @@
 <clipPath id="breeze-testing-non-db-tests-line-88">
     <rect x="0" y="2148.7" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-non-db-tests-line-89">
+    <rect x="0" y="2173.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-testing-non-db-tests-line-90">
+    <rect x="0" y="2197.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-testing-non-db-tests-line-91">
+    <rect x="0" y="2221.9" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2244" rx="8"/><text 
class="breeze-testing-non-db-tests-title" fill="#c5c8c6" text-anchor="middle" 
x="740" y="27">Command:&#160;testing&#160;non-db-tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2317.2" rx="8"/><text 
class="breeze-testing-non-db-tests-title" fill="#c5c8c6" text-anchor="middle" 
x="740" y="27">Command:&#160;testing&#160;non-db-tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -408,12 +417,15 @@
 </text><text class="breeze-testing-non-db-tests-r5" x="0" y="1996.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-81)">│</text><text 
class="breeze-testing-non-db-tests-r6" x="768.6" y="1996.4" textLength="671" 
clip-path="url(#breeze-testing-non-db-tests-line-81)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove&#160;|&#160;tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-testing-n [...]
 </text><text class="breeze-testing-non-db-tests-r5" x="0" y="2020.8" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-82)">│</text><text 
class="breeze-testing-non-db-tests-r5" x="768.6" y="2020.8" textLength="671" 
clip-path="url(#breeze-testing-non-db-tests-line-82)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
 </text><text class="breeze-testing-non-db-tests-r5" x="0" y="2045.2" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-83)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2045.2" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-83)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2045.2" textLength="61" 
clip-path="url(#breeze-testing-non-db-tests-line-83)">-skip</text><text 
class="breeze-testing-non-db-tests-r4" x="97. [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2069.6" 
textLength="1464" 
clip-path="url(#breeze-testing-non-db-tests-line-84)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-non-db-tests-r1" x="1464" y="2069.6" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-84)">
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2094" 
textLength="24.4" 
clip-path="url(#breeze-testing-non-db-tests-line-85)">╭─</text><text 
class="breeze-testing-non-db-tests-r5" x="24.4" y="2094" textLength="195.2" 
clip-path="url(#breeze-testing-non-db-tests-line-85)">&#160;Common&#160;options&#160;</text><text
 class="breeze-testing-non-db-tests-r5" x="219.6" y="2094" textLength="1220" 
clip-path="url(#breeze-testing-non-db-tests-line-85)">──────────────────────────────────
 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2118.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-86)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2118.4" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-86)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2118.4" textLength="48.8" 
clip-path="url(#breeze-testing-non-db-tests-line-86)">-dry</text><text 
class="breeze-testing-non-db-tests-r4" x="85 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2142.8" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-87)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2142.8" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-87)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2142.8" textLength="97.6" 
clip-path="url(#breeze-testing-non-db-tests-line-87)">-verbose</text><text 
class="breeze-testing-non-db-tests-r7" x [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2167.2" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-88)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2167.2" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-88)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2167.2" textLength="61" 
clip-path="url(#breeze-testing-non-db-tests-line-88)">-help</text><text 
class="breeze-testing-non-db-tests-r7" x="158 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2191.6" 
textLength="1464" 
clip-path="url(#breeze-testing-non-db-tests-line-89)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-non-db-tests-r1" x="1464" y="2191.6" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-89)">
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2069.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-84)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2069.6" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-84)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2069.6" textLength="61" 
clip-path="url(#breeze-testing-non-db-tests-line-84)">-skip</text><text 
class="breeze-testing-non-db-tests-r4" x="97. [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2094" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-85)">│</text><text 
class="breeze-testing-non-db-tests-r1" x="768.6" y="2094" textLength="671" 
clip-path="url(#breeze-testing-non-db-tests-line-85)">tests&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2118.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-86)">│</text><text 
class="breeze-testing-non-db-tests-r6" x="768.6" y="2118.4" textLength="671" 
clip-path="url(#breeze-testing-non-db-tests-line-86)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2142.8" 
textLength="1464" 
clip-path="url(#breeze-testing-non-db-tests-line-87)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-non-db-tests-r1" x="1464" y="2142.8" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-87)">
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2167.2" 
textLength="24.4" 
clip-path="url(#breeze-testing-non-db-tests-line-88)">╭─</text><text 
class="breeze-testing-non-db-tests-r5" x="24.4" y="2167.2" textLength="195.2" 
clip-path="url(#breeze-testing-non-db-tests-line-88)">&#160;Common&#160;options&#160;</text><text
 class="breeze-testing-non-db-tests-r5" x="219.6" y="2167.2" textLength="1220" 
clip-path="url(#breeze-testing-non-db-tests-line-88)">────────────────────────────
 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2191.6" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-89)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2191.6" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-89)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2191.6" textLength="48.8" 
clip-path="url(#breeze-testing-non-db-tests-line-89)">-dry</text><text 
class="breeze-testing-non-db-tests-r4" x="85 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2216" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-90)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2216" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-90)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2216" textLength="97.6" 
clip-path="url(#breeze-testing-non-db-tests-line-90)">-verbose</text><text 
class="breeze-testing-non-db-tests-r7" x="158. [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2240.4" 
textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-91)">│</text><text 
class="breeze-testing-non-db-tests-r4" x="24.4" y="2240.4" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-91)">-</text><text 
class="breeze-testing-non-db-tests-r4" x="36.6" y="2240.4" textLength="61" 
clip-path="url(#breeze-testing-non-db-tests-line-91)">-help</text><text 
class="breeze-testing-non-db-tests-r7" x="158 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="2264.8" 
textLength="1464" 
clip-path="url(#breeze-testing-non-db-tests-line-92)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-non-db-tests-r1" x="1464" y="2264.8" textLength="12.2" 
clip-path="url(#breeze-testing-non-db-tests-line-92)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_non-db-tests.txt 
b/dev/breeze/doc/images/output_testing_non-db-tests.txt
index 21a1c9f6b7..96342cca85 100644
--- a/dev/breeze/doc/images/output_testing_non-db-tests.txt
+++ b/dev/breeze/doc/images/output_testing_non-db-tests.txt
@@ -1 +1 @@
-99ab5855d866092bb8039b36c898a5ff
+543f9814b475e511749fdebf29d16298
diff --git a/dev/breeze/doc/images/output_testing_tests.svg 
b/dev/breeze/doc/images/output_testing_tests.svg
index f0d74d35e2..5e1de91ff2 100644
--- a/dev/breeze/doc/images/output_testing_tests.svg
+++ b/dev/breeze/doc/images/output_testing_tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 2856.0" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 2929.2" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="2805.0" />
+      <rect x="0" y="0" width="1463.0" height="2878.2" />
     </clipPath>
     <clipPath id="breeze-testing-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -387,9 +387,18 @@
 <clipPath id="breeze-testing-tests-line-113">
     <rect x="0" y="2758.7" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-tests-line-114">
+    <rect x="0" y="2783.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-testing-tests-line-115">
+    <rect x="0" y="2807.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-testing-tests-line-116">
+    <rect x="0" y="2831.9" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2854" rx="8"/><text 
class="breeze-testing-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;testing&#160;tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2927.2" rx="8"/><text 
class="breeze-testing-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;testing&#160;tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -508,12 +517,15 @@
 </text><text class="breeze-testing-tests-r5" x="0" y="2606.4" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-106)">│</text><text 
class="breeze-testing-tests-r7" x="768.6" y="2606.4" textLength="671" 
clip-path="url(#breeze-testing-tests-line-106)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove&#160;|&#160;tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-testing-tests-r5" x="1451.8" y="260 [...]
 </text><text class="breeze-testing-tests-r5" x="0" y="2630.8" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-107)">│</text><text 
class="breeze-testing-tests-r5" x="768.6" y="2630.8" textLength="671" 
clip-path="url(#breeze-testing-tests-line-107)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
 </text><text class="breeze-testing-tests-r5" x="0" y="2655.2" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-108)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2655.2" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-108)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2655.2" textLength="61" 
clip-path="url(#breeze-testing-tests-line-108)">-skip</text><text 
class="breeze-testing-tests-r4" x="97.6" y="2655.2" textLength="244" 
clip-path="url( [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2679.6" 
textLength="1464" 
clip-path="url(#breeze-testing-tests-line-109)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-tests-r1" x="1464" y="2679.6" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-109)">
-</text><text class="breeze-testing-tests-r5" x="0" y="2704" textLength="24.4" 
clip-path="url(#breeze-testing-tests-line-110)">╭─</text><text 
class="breeze-testing-tests-r5" x="24.4" y="2704" textLength="195.2" 
clip-path="url(#breeze-testing-tests-line-110)">&#160;Common&#160;options&#160;</text><text
 class="breeze-testing-tests-r5" x="219.6" y="2704" textLength="1220" 
clip-path="url(#breeze-testing-tests-line-110)">─────────────────────────────────────────────────────────────────────────
 [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2728.4" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-111)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2728.4" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-111)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2728.4" textLength="48.8" 
clip-path="url(#breeze-testing-tests-line-111)">-dry</text><text 
class="breeze-testing-tests-r4" x="85.4" y="2728.4" textLength="48.8" 
clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2752.8" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-112)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2752.8" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-112)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2752.8" textLength="97.6" 
clip-path="url(#breeze-testing-tests-line-112)">-verbose</text><text 
class="breeze-testing-tests-r6" x="158.6" y="2752.8" textLength="24.4" clip-pat 
[...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2777.2" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-113)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2777.2" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-113)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2777.2" textLength="61" 
clip-path="url(#breeze-testing-tests-line-113)">-help</text><text 
class="breeze-testing-tests-r6" x="158.6" y="2777.2" textLength="24.4" 
clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2801.6" 
textLength="1464" 
clip-path="url(#breeze-testing-tests-line-114)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-tests-r1" x="1464" y="2801.6" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-114)">
+</text><text class="breeze-testing-tests-r5" x="0" y="2679.6" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-109)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2679.6" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-109)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2679.6" textLength="61" 
clip-path="url(#breeze-testing-tests-line-109)">-skip</text><text 
class="breeze-testing-tests-r4" x="97.6" y="2679.6" textLength="122" 
clip-path="url( [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2704" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-110)">│</text><text 
class="breeze-testing-tests-r1" x="768.6" y="2704" textLength="671" 
clip-path="url(#breeze-testing-tests-line-110)">tests&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2728.4" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-111)">│</text><text 
class="breeze-testing-tests-r7" x="768.6" y="2728.4" textLength="671" 
clip-path="url(#breeze-testing-tests-line-111)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2752.8" 
textLength="1464" 
clip-path="url(#breeze-testing-tests-line-112)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-tests-r1" x="1464" y="2752.8" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-112)">
+</text><text class="breeze-testing-tests-r5" x="0" y="2777.2" 
textLength="24.4" 
clip-path="url(#breeze-testing-tests-line-113)">╭─</text><text 
class="breeze-testing-tests-r5" x="24.4" y="2777.2" textLength="195.2" 
clip-path="url(#breeze-testing-tests-line-113)">&#160;Common&#160;options&#160;</text><text
 class="breeze-testing-tests-r5" x="219.6" y="2777.2" textLength="1220" 
clip-path="url(#breeze-testing-tests-line-113)">───────────────────────────────────────────────────────────────────
 [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2801.6" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-114)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2801.6" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-114)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2801.6" textLength="48.8" 
clip-path="url(#breeze-testing-tests-line-114)">-dry</text><text 
class="breeze-testing-tests-r4" x="85.4" y="2801.6" textLength="48.8" 
clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2826" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-115)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2826" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-115)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2826" textLength="97.6" 
clip-path="url(#breeze-testing-tests-line-115)">-verbose</text><text 
class="breeze-testing-tests-r6" x="158.6" y="2826" textLength="24.4" 
clip-path="url(# [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2850.4" 
textLength="12.2" clip-path="url(#breeze-testing-tests-line-116)">│</text><text 
class="breeze-testing-tests-r4" x="24.4" y="2850.4" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-116)">-</text><text 
class="breeze-testing-tests-r4" x="36.6" y="2850.4" textLength="61" 
clip-path="url(#breeze-testing-tests-line-116)">-help</text><text 
class="breeze-testing-tests-r6" x="158.6" y="2850.4" textLength="24.4" 
clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2874.8" 
textLength="1464" 
clip-path="url(#breeze-testing-tests-line-117)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-testing-tests-r1" x="1464" y="2874.8" textLength="12.2" 
clip-path="url(#breeze-testing-tests-line-117)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_tests.txt 
b/dev/breeze/doc/images/output_testing_tests.txt
index 1cdd091e54..25be0ad1ba 100644
--- a/dev/breeze/doc/images/output_testing_tests.txt
+++ b/dev/breeze/doc/images/output_testing_tests.txt
@@ -1 +1 @@
-fe53411b168993bb4e44939575e9c9dd
+3c3217a7eceaa77718af4876622e1b0f
diff --git a/dev/breeze/src/airflow_breeze/commands/testing_commands.py 
b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
index 8368a98a40..49435b6a82 100644
--- a/dev/breeze/src/airflow_breeze/commands/testing_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
@@ -428,6 +428,13 @@ option_skip_provider_tests = click.option(
     is_flag=True,
     envvar="SKIP_PROVIDER_TESTS",
 )
+option_skip_providers = click.option(
+    "--skip-providers",
+    help="Coma separated list of providers to skip when running tests",
+    type=str,
+    default="",
+    envvar="SKIP_PROVIDERS",
+)
 option_test_timeout = click.option(
     "--test-timeout",
     help="Test timeout in seconds. Set the pytest setup, execution and 
teardown timeouts to this value",
@@ -512,6 +519,7 @@ option_force_sa_warnings = click.option(
 @option_skip_db_tests
 @option_skip_docker_compose_down
 @option_skip_provider_tests
+@option_skip_providers
 @option_test_timeout
 @option_test_type
 @option_upgrade_boto
@@ -562,6 +570,7 @@ def command_for_tests(**kwargs):
 @option_skip_cleanup
 @option_skip_docker_compose_down
 @option_skip_provider_tests
+@option_skip_providers
 @option_test_timeout
 @option_upgrade_boto
 @option_use_airflow_version
@@ -617,6 +626,7 @@ def command_for_db_tests(**kwargs):
 @option_skip_cleanup
 @option_skip_docker_compose_down
 @option_skip_provider_tests
+@option_skip_providers
 @option_test_timeout
 @option_upgrade_boto
 @option_use_airflow_version
@@ -672,6 +682,7 @@ def _run_test_command(
     skip_db_tests: bool,
     skip_docker_compose_down: bool,
     skip_provider_tests: bool,
+    skip_providers: str,
     test_timeout: int,
     test_type: str,
     upgrade_boto: bool,
@@ -735,6 +746,12 @@ def _run_test_command(
         # https://docs.pytest.org/en/stable/reference/exit-codes.html
         # https://github.com/apache/airflow/pull/38402#issuecomment-2014938950
         extra_pytest_args = (*extra_pytest_args, 
"--suppress-no-test-exit-code")
+    if skip_providers:
+        ignored_path_list = [
+            f"--ignore=tests/providers/{provider_id.replace('.','/')}"
+            for provider_id in skip_providers.split(",")
+        ]
+        extra_pytest_args = (*extra_pytest_args, *ignored_path_list)
     if run_in_parallel:
         if test_type != "Default":
             get_console().print(
diff --git a/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py
index fd58049160..53d11316d5 100644
--- a/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py
@@ -94,6 +94,7 @@ TESTING_PARAMETERS: dict[str, list[dict[str, str | 
list[str]]]] = {
                 "--use-packages-from-dist",
                 "--mount-sources",
                 "--skip-docker-compose-down",
+                "--skip-providers",
             ],
         },
     ],
@@ -155,6 +156,7 @@ TESTING_PARAMETERS: dict[str, list[dict[str, str | 
list[str]]]] = {
                 "--use-packages-from-dist",
                 "--mount-sources",
                 "--skip-docker-compose-down",
+                "--skip-providers",
             ],
         },
     ],
@@ -219,6 +221,7 @@ TESTING_PARAMETERS: dict[str, list[dict[str, str | 
list[str]]]] = {
                 "--use-packages-from-dist",
                 "--mount-sources",
                 "--skip-docker-compose-down",
+                "--skip-providers",
             ],
         },
     ],


Reply via email to