1
1
from __future__ import annotations
2
2
3
3
import platform as platform_module
4
+ import shutil
4
5
import sys
5
6
6
7
import pytest
7
8
9
+ import cibuildwheel .architecture
8
10
from cibuildwheel .architecture import Architecture
9
11
10
12
@@ -24,6 +26,7 @@ def platform_machine(request, monkeypatch):
24
26
platform_name , platform_value , machine_value , machine_name = request .param
25
27
monkeypatch .setattr (sys , "platform" , platform_value )
26
28
monkeypatch .setattr (platform_module , "machine" , lambda : machine_value )
29
+ monkeypatch .setattr (cibuildwheel .architecture , "_check_aarch32_el0" , lambda : True )
27
30
return platform_name , machine_name
28
31
29
32
@@ -34,7 +37,7 @@ def test_arch_auto(platform_machine):
34
37
expected = {
35
38
"32" : {Architecture .i686 },
36
39
"64" : {Architecture .x86_64 , Architecture .i686 },
37
- "arm" : {Architecture .aarch64 },
40
+ "arm" : {Architecture .aarch64 , Architecture . armv7l },
38
41
}
39
42
assert arch_set == expected [machine_name ]
40
43
@@ -71,7 +74,7 @@ def test_arch_auto32(platform_machine):
71
74
platform_name , machine_name = platform_machine
72
75
73
76
arch_set = Architecture .parse_config ("auto32" , "linux" )
74
- expected = {"32" : {Architecture .i686 }, "64" : {Architecture .i686 }, "arm" : set () }
77
+ expected = {"32" : {Architecture .i686 }, "64" : {Architecture .i686 }, "arm" : { Architecture . armv7l } }
75
78
assert arch_set == expected [machine_name ]
76
79
77
80
arch_set = Architecture .parse_config ("auto32" , "macos" )
@@ -80,3 +83,18 @@ def test_arch_auto32(platform_machine):
80
83
arch_set = Architecture .parse_config ("auto32" , "windows" )
81
84
expected = {"32" : {Architecture .x86 }, "64" : {Architecture .x86 }, "arm" : set ()}
82
85
assert arch_set == expected [machine_name ]
86
+
87
+
88
+ def test_arch_auto_no_aarch32 (monkeypatch ):
89
+ monkeypatch .setattr (sys , "platform" , "linux" )
90
+ monkeypatch .setattr (platform_module , "machine" , lambda : "aarch64" )
91
+ monkeypatch .setattr (shutil , "which" , lambda * args , ** kwargs : None )
92
+
93
+ arch_set = Architecture .parse_config ("auto" , "linux" )
94
+ assert arch_set == {Architecture .aarch64 }
95
+
96
+ arch_set = Architecture .parse_config ("auto64" , "linux" )
97
+ assert arch_set == {Architecture .aarch64 }
98
+
99
+ arch_set = Architecture .parse_config ("auto32" , "linux" )
100
+ assert len (arch_set ) == 0
0 commit comments