@@ -160,6 +160,35 @@ class PyenvTest extends BasePipelineTest {
160160 shMocks. each { mock -> assertCallStackContains(mock[0 ]) }
161161 }
162162
163+ @Test
164+ void createVirtualEnvWindowsArm () {
165+ String pythonVersion = ' 1.2.3'
166+ String pyenvRoot = ' C:\\ mock\\ pyenv\\ root'
167+ String posixPyenvRoot = ' /c/mock/pyenv/root'
168+ String shPyenvRoot = ' C:/mock/pyenv/root'
169+ List shMocks = [
170+ new Tuple (installCommands(
171+ pyenvRoot : shPyenvRoot,
172+ pythonVersion : pythonVersion + ' -arm' ,
173+ isUnix : false ,
174+ posixPyenvRoot : posixPyenvRoot,
175+ ), ' ' , 0 ),
176+ new Tuple (" ${ shPyenvRoot} /bin/pyenv install --list" , ''' Available versions:
177+ 1.2.3
178+ 1.2.3-arm
179+ ''' , 0 ),
180+ ]
181+ shMocks. each { mock -> helper. addShMock(mock[0 ], mock[1 ], mock[2 ]) }
182+ helper. registerAllowedMethod(' fileExists' , [String ]) { return true }
183+ script. env[' OS' ] = ' Windows_NT'
184+ script. env[' PROCESSOR_IDENTIFIER' ] = ' ARMv8 (64-bit) Family 8 Model AC4 Revision 0'
185+
186+ Object venv = new Pyenv (script, pyenvRoot). createVirtualEnv(pythonVersion, 1 )
187+
188+ assertEquals (" /workspace/.venv/${ TEST_RANDOM_NAME} " as String , venv. venvRootDir)
189+ shMocks. each { mock -> assertCallStackContains(mock[0 ]) }
190+ }
191+
163192 @Test
164193 void createVirtualEnvUnsupportedPythonVersion () {
165194 String pythonVersion = ' 6.6.6'
0 commit comments