| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | import pytest | 
					
						
							| 
									
										
										
										
											2024-04-18 20:24:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-23 19:58:23 +08:00
										 |  |  | from core.tools.tool_manager import ToolManager | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | provider_generator = ToolManager.list_builtin_providers() | 
					
						
							|  |  |  | provider_names = [provider.identity.name for provider in provider_generator] | 
					
						
							|  |  |  | ToolManager.clear_builtin_providers_cache() | 
					
						
							|  |  |  | provider_generator = ToolManager.list_builtin_providers() | 
					
						
							| 
									
										
										
										
											2024-02-01 18:11:57 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-23 23:52:25 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.parametrize("name", provider_names) | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | def test_tool_providers(benchmark, name): | 
					
						
							| 
									
										
										
										
											2024-01-23 19:58:23 +08:00
										 |  |  |     """
 | 
					
						
							|  |  |  |     Test that all tool providers can be loaded | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-08-23 23:52:25 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     def test(generator): | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             return next(generator) | 
					
						
							|  |  |  |         except StopIteration: | 
					
						
							|  |  |  |             return None | 
					
						
							| 
									
										
										
										
											2024-08-23 23:52:25 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     benchmark.pedantic(test, args=(provider_generator,), iterations=1, rounds=1) |