@@ -171,6 +171,22 @@ def test_single_marker_intersect() -> None:
171
171
assert str (intersection ) == 'python_version >= "3.4" and python_version < "3.6"'
172
172
173
173
174
+ @pytest .mark .parametrize (
175
+ ("marker1" , "marker2" ),
176
+ [
177
+ ('sys_platform == "win32"' , 'sys_platform == "linux"' ),
178
+ ('sys_platform != "win32"' , 'sys_platform == "win32"' ),
179
+ ('python_version >= "3.6"' , 'python_version < "3.6"' ),
180
+ ('python_version == "3.6"' , 'python_version == "3.7"' ),
181
+ ('python_version > "3.6"' , 'python_version <= "3.6"' ),
182
+ ('python_version >= "3.6"' , 'python_version < "3.6"' ),
183
+ ('python_version > "3.6"' , 'python_version < "3.7"' ),
184
+ ],
185
+ )
186
+ def test_single_marker_intersect_is_empty (marker1 : str , marker2 : str ) -> None :
187
+ assert parse_marker (marker1 ).intersect (parse_marker (marker2 )).is_empty ()
188
+
189
+
174
190
@pytest .mark .parametrize (
175
191
("marker1" , "marker2" , "expected" ),
176
192
[
@@ -852,11 +868,6 @@ def test_multi_marker_union_multi_is_multi(
852
868
'python_version >= "3.6" and python_version < "3.8"' ,
853
869
'python_version >= "3.6" and python_version < "3.8"' ,
854
870
),
855
- (
856
- 'python_version > "3.6" and python_full_version < "3.6.2"' ,
857
- 'python_version > "3.6" and python_version < "3.7"' ,
858
- 'python_version > "3.6" and python_version < "3.7"' ,
859
- ),
860
871
(
861
872
'python_version > "3.6" and python_full_version < "3.7.2"' ,
862
873
'python_version > "3.6" and python_version < "3.8"' ,
@@ -2260,16 +2271,16 @@ def test_intersection_no_endless_recursion() -> None:
2260
2271
' and extra != "postgis"'
2261
2272
)
2262
2273
m2 = parse_marker (
2263
- 'python_version > "3.12" and python_version < "3.13" or extra != "databricks"'
2274
+ 'python_version >= "3.12" and python_version < "3.13" or extra != "databricks"'
2264
2275
)
2265
2276
expected = (
2266
2277
'(python_version < "3.9" or extra != "bigquery" and extra != "parquet"'
2267
2278
' and extra != "motherduck" and extra != "athena" and extra != "synapse"'
2268
2279
' and extra != "clickhouse" and extra != "dremio" and extra != "lancedb"'
2269
2280
' and extra != "deltalake" and extra != "pyiceberg")'
2270
2281
' and python_version < "3.13" and extra != "postgres" and extra != "redshift"'
2271
- ' and extra != "postgis" and (python_version > "3.12" '
2272
- ' and python_version < "3.13 " or extra != "databricks")'
2282
+ ' and extra != "postgis"'
2283
+ ' and ( python_version == "3.12 " or extra != "databricks")'
2273
2284
)
2274
2285
assert str (m1 .intersect (m2 )) == expected
2275
2286
0 commit comments