@@ -49,18 +49,55 @@ def test_find_binary_packages(dummy_command, tmp_path):
4949 version = "9.9.9" ,
5050 tag = "macOS_13_arm64" ,
5151 )
52+ # Packages with multiple binary tags (see #2690)
53+ # Multiple tags, where universal2 duplicates explicit tagging
54+ create_installed_package (
55+ tmp_path / "app-packages" ,
56+ "multi-tagged-binary-package-1" ,
57+ version = "3.4.7" ,
58+ tag = ["macOS_11_x86-64" , "macOS_11_arm64" , "macOS_11_universal2" ],
59+ )
60+ # Universal2 even though it isn't tagged as such
61+ create_installed_package (
62+ tmp_path / "app-packages" ,
63+ "multi-tagged-binary-package-2" ,
64+ version = "3.4.8" ,
65+ tag = ["macOS_11_x86-64" , "macOS_11_arm64" ],
66+ )
67+ # Multiple tagged, but not a universal pair
68+ create_installed_package (
69+ tmp_path / "app-packages" ,
70+ "multi-tagged-binary-package-3" ,
71+ version = "3.4.9" ,
72+ tag = ["macOS_11_arm64" , "macOS_11_ppc" ],
73+ )
74+ # Multiple tagged, includes universal and host, but *not* other
75+ create_installed_package (
76+ tmp_path / "app-packages" ,
77+ "multi-tagged-binary-package-4" ,
78+ version = "3.4.10" ,
79+ tag = ["macOS_11_arm64" , "macOS_11_universal2" ],
80+ )
81+ # Multiple tagged, includes universal and other, but *not* host
82+ create_installed_package (
83+ tmp_path / "app-packages" ,
84+ "multi-tagged-binary-package-5" ,
85+ version = "3.4.11" ,
86+ tag = ["macOS_11_x86_64" , "macOS_11_universal2" ],
87+ )
5288
5389 binary_packages = dummy_command .find_binary_packages (
5490 tmp_path / "app-packages" ,
5591 universal_suffix = "_universal2" ,
92+ other_suffix = "_x86-64" ,
5693 )
5794
5895 # Binary wheels are discovered. We don't care about the order they are returned in,
5996 # just that they're all found.
60- assert len (binary_packages ) == 2
6197 assert set (binary_packages ) == {
6298 ("binary-package-1" , "3.4.5" ),
6399 ("binary-package-2" , "3.4.6" ),
100+ ("multi-tagged-binary-package-3" , "3.4.9" ),
64101 }
65102
66103
0 commit comments