@@ -280,7 +280,9 @@ def test_resolve_profiles_by_name(self) -> None:
280280 mock_build_profile = Mock ()
281281 mock_conan_api .profiles .get_profile .side_effect = [mock_host_profile , mock_build_profile ]
282282
283- host_result , build_result = _resolve_profiles ('host-profile' , 'build-profile' , mock_conan_api )
283+ host_result , build_result = _resolve_profiles (
284+ 'host-profile' , 'build-profile' , mock_conan_api , cmake_program = None
285+ )
284286
285287 assert host_result == mock_host_profile
286288 assert build_result == mock_build_profile
@@ -294,7 +296,7 @@ def test_resolve_profiles_by_name_failure(self) -> None:
294296 mock_conan_api .profiles .get_profile .side_effect = Exception ('Profile not found' )
295297
296298 with pytest .raises (ProviderConfigurationError , match = 'Failed to load host profile' ):
297- _resolve_profiles ('missing-profile' , 'other-profile' , mock_conan_api )
299+ _resolve_profiles ('missing-profile' , 'other-profile' , mock_conan_api , cmake_program = None )
298300
299301 def test_resolve_profiles_auto_detect (self ) -> None :
300302 """Test auto-detecting profiles."""
@@ -308,7 +310,7 @@ def test_resolve_profiles_auto_detect(self) -> None:
308310 mock_conan_api .profiles .get_default_build .return_value = mock_build_default_path
309311 mock_conan_api .profiles .get_profile .side_effect = [mock_host_profile , mock_build_profile ]
310312
311- host_result , build_result = _resolve_profiles (None , None , mock_conan_api )
313+ host_result , build_result = _resolve_profiles (None , None , mock_conan_api , cmake_program = None )
312314
313315 assert host_result == mock_host_profile
314316 assert build_result == mock_build_profile
@@ -334,14 +336,14 @@ def test_resolve_profiles_fallback_to_detect(self, mock_post_process: Mock) -> N
334336 mock_conan_api .profiles .detect .side_effect = [mock_host_profile , mock_build_profile ]
335337 mock_conan_api .config .settings_yml = mock_cache_settings
336338
337- host_result , build_result = _resolve_profiles (None , None , mock_conan_api )
339+ host_result , build_result = _resolve_profiles (None , None , mock_conan_api , cmake_program = None )
338340
339341 assert host_result == mock_host_profile
340342 assert build_result == mock_build_profile
341343 assert mock_conan_api .profiles .detect .call_count == 2
342344 assert mock_post_process .call_count == 2
343- mock_post_process .assert_any_call ([mock_host_profile ], mock_conan_api , mock_cache_settings )
344- mock_post_process .assert_any_call ([mock_build_profile ], mock_conan_api , mock_cache_settings )
345+ mock_post_process .assert_any_call ([mock_host_profile ], mock_conan_api , mock_cache_settings , None )
346+ mock_post_process .assert_any_call ([mock_build_profile ], mock_conan_api , mock_cache_settings , None )
345347
346348 @patch ('cppython.plugins.conan.resolution._profile_post_process' )
347349 def test_resolve_profiles_default_fallback_to_detect (self , mock_post_process : Mock ) -> None :
@@ -360,23 +362,27 @@ def test_resolve_profiles_default_fallback_to_detect(self, mock_post_process: Mo
360362 mock_conan_api .profiles .detect .side_effect = [mock_host_profile , mock_build_profile ]
361363 mock_conan_api .config .settings_yml = mock_cache_settings
362364
363- host_result , build_result = _resolve_profiles ('default' , 'default' , mock_conan_api )
365+ host_result , build_result = _resolve_profiles ('default' , 'default' , mock_conan_api , cmake_program = None )
364366
365367 assert host_result == mock_host_profile
366368 assert build_result == mock_build_profile
367369 assert mock_conan_api .profiles .detect .call_count == 2
368370 assert mock_post_process .call_count == 2
369- mock_post_process .assert_any_call ([mock_host_profile ], mock_conan_api , mock_cache_settings )
370- mock_post_process .assert_any_call ([mock_build_profile ], mock_conan_api , mock_cache_settings )
371+ mock_post_process .assert_any_call ([mock_host_profile ], mock_conan_api , mock_cache_settings , None )
372+ mock_post_process .assert_any_call ([mock_build_profile ], mock_conan_api , mock_cache_settings , None )
371373
372374
373375class TestResolveConanData :
374376 """Test Conan data resolution."""
375377
376378 @patch ('cppython.plugins.conan.resolution.ConanAPI' )
377379 @patch ('cppython.plugins.conan.resolution._resolve_profiles' )
378- def test_resolve_conan_data_with_profiles (self , mock_resolve_profiles : Mock , mock_conan_api_class : Mock ) -> None :
380+ @patch ('cppython.plugins.conan.resolution._detect_cmake_program' )
381+ def test_resolve_conan_data_with_profiles (
382+ self , mock_detect_cmake : Mock , mock_resolve_profiles : Mock , mock_conan_api_class : Mock
383+ ) -> None :
379384 """Test resolving ConanData with profile configuration."""
385+ mock_detect_cmake .return_value = None # No cmake detected for test
380386 mock_conan_api = Mock ()
381387 mock_conan_api_class .return_value = mock_conan_api
382388
@@ -395,12 +401,16 @@ def test_resolve_conan_data_with_profiles(self, mock_resolve_profiles: Mock, moc
395401 assert result .remotes == ['conancenter' ]
396402
397403 # Verify profile resolution was called correctly
398- mock_resolve_profiles .assert_called_once_with ('linux-x64' , 'linux-gcc11' , mock_conan_api )
404+ mock_resolve_profiles .assert_called_once_with ('linux-x64' , 'linux-gcc11' , mock_conan_api , None )
399405
400406 @patch ('cppython.plugins.conan.resolution.ConanAPI' )
401407 @patch ('cppython.plugins.conan.resolution._resolve_profiles' )
402- def test_resolve_conan_data_default_profiles (self , mock_resolve_profiles : Mock , mock_conan_api_class : Mock ) -> None :
408+ @patch ('cppython.plugins.conan.resolution._detect_cmake_program' )
409+ def test_resolve_conan_data_default_profiles (
410+ self , mock_detect_cmake : Mock , mock_resolve_profiles : Mock , mock_conan_api_class : Mock
411+ ) -> None :
403412 """Test resolving ConanData with default profile configuration."""
413+ mock_detect_cmake .return_value = None # No cmake detected for test
404414 mock_conan_api = Mock ()
405415 mock_conan_api_class .return_value = mock_conan_api
406416
@@ -419,12 +429,16 @@ def test_resolve_conan_data_default_profiles(self, mock_resolve_profiles: Mock,
419429 assert result .remotes == ['conancenter' ] # Default remote
420430
421431 # Verify profile resolution was called with default values
422- mock_resolve_profiles .assert_called_once_with ('default' , 'default' , mock_conan_api )
432+ mock_resolve_profiles .assert_called_once_with ('default' , 'default' , mock_conan_api , None )
423433
424434 @patch ('cppython.plugins.conan.resolution.ConanAPI' )
425435 @patch ('cppython.plugins.conan.resolution._resolve_profiles' )
426- def test_resolve_conan_data_null_profiles (self , mock_resolve_profiles : Mock , mock_conan_api_class : Mock ) -> None :
436+ @patch ('cppython.plugins.conan.resolution._detect_cmake_program' )
437+ def test_resolve_conan_data_null_profiles (
438+ self , mock_detect_cmake : Mock , mock_resolve_profiles : Mock , mock_conan_api_class : Mock
439+ ) -> None :
427440 """Test resolving ConanData with null profile configuration."""
441+ mock_detect_cmake .return_value = None # No cmake detected for test
428442 mock_conan_api = Mock ()
429443 mock_conan_api_class .return_value = mock_conan_api
430444
@@ -443,7 +457,7 @@ def test_resolve_conan_data_null_profiles(self, mock_resolve_profiles: Mock, moc
443457 assert result .remotes == []
444458
445459 # Verify profile resolution was called with None values
446- mock_resolve_profiles .assert_called_once_with (None , None , mock_conan_api )
460+ mock_resolve_profiles .assert_called_once_with (None , None , mock_conan_api , None )
447461
448462 def test_auto_detected_profile_gets_post_processed (self , conan_mock_api : Mock ):
449463 """Test that auto-detected profiles get proper post-processing.
@@ -467,7 +481,7 @@ def test_auto_detected_profile_gets_post_processed(self, conan_mock_api: Mock):
467481 conan_mock_api .config .global_conf = Mock ()
468482
469483 # Call the resolution - this should trigger auto-detection and post-processing
470- host_profile , build_profile = _resolve_profiles (None , None , conan_mock_api )
484+ host_profile , build_profile = _resolve_profiles (None , None , conan_mock_api , cmake_program = None )
471485
472486 # Verify that process_settings was called on both profiles
473487 assert mock_profile .process_settings .call_count == EXPECTED_PROFILE_CALL_COUNT
0 commit comments