| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | # SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | # SPDX-License-Identifier: CC0-1.0 | 
					
						
							|  |  |  | import pytest | 
					
						
							|  |  |  | from pytest_embedded import Dut | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | from pytest_embedded_idf.utils import idf_parametrize | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @idf_parametrize('target', ['supported_targets'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | def test_mbedtls(dut: Dut) -> None: | 
					
						
							| 
									
										
										
										
											2023-01-04 10:52:12 +05:30
										 |  |  |     dut.run_all_single_board_cases() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         'perf_esp32', | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @idf_parametrize('target', ['esp32'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2023-01-04 10:52:12 +05:30
										 |  |  | def test_mbedtls_esp32_compiler_perf_opt(dut: Dut) -> None: | 
					
						
							|  |  |  |     dut.run_all_single_board_cases() | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         'aes_no_hw', | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @idf_parametrize('target', ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c5'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | def test_mbedtls_aes_no_hw(dut: Dut) -> None: | 
					
						
							| 
									
										
										
										
											2023-01-04 10:52:12 +05:30
										 |  |  |     dut.run_all_single_board_cases() | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         'psram', | 
					
						
							| 
									
										
										
										
											2024-08-30 16:27:56 +05:30
										 |  |  |         'psram_all_ext', | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  |     ], | 
					
						
							|  |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @idf_parametrize('target', ['esp32', 'esp32s2', 'esp32s3', 'esp32c5', 'esp32c61'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | def test_mbedtls_psram(dut: Dut) -> None: | 
					
						
							| 
									
										
										
										
											2023-01-04 10:52:12 +05:30
										 |  |  |     dut.run_all_single_board_cases() | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  |     ['psram_esp32p4_200m', 'psram_all_ext_esp32p4_200m'], | 
					
						
							| 
									
										
										
										
											2022-09-07 16:23:54 +05:30
										 |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @idf_parametrize('target', ['esp32p4'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2024-08-30 16:27:56 +05:30
										 |  |  | def test_mbedtls_psram_esp32p4(dut: Dut) -> None: | 
					
						
							| 
									
										
										
										
											2023-01-04 10:52:12 +05:30
										 |  |  |     dut.run_all_single_board_cases() | 
					
						
							| 
									
										
										
										
											2023-03-31 14:30:18 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.ecdsa_efuse | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         'ecdsa_sign', | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @idf_parametrize('target', ['esp32h2'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2023-03-31 14:30:18 +05:30
										 |  |  | def test_mbedtls_ecdsa_sign(dut: Dut) -> None: | 
					
						
							|  |  |  |     dut.run_all_single_board_cases(group='efuse_key') | 
					
						
							| 
									
										
										
										
											2023-08-16 00:11:23 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         'rom_impl', | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2025-02-24 10:18:03 +08:00
										 |  |  | @idf_parametrize('target', ['esp32c2'], indirect=['target']) | 
					
						
							| 
									
										
										
										
											2023-08-16 00:11:23 -07:00
										 |  |  | def test_mbedtls_rom_impl_esp32c2(dut: Dut) -> None: | 
					
						
							|  |  |  |     dut.run_all_single_board_cases() | 
					
						
							| 
									
										
										
										
											2025-05-23 11:43:29 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.generic | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     'config', | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         'ds_rsa', | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     indirect=True, | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @idf_parametrize('target', ['esp32s3'], indirect=['target']) | 
					
						
							|  |  |  | def test_mbedtls_ds_rsa(dut: Dut) -> None: | 
					
						
							|  |  |  |     dut.run_all_single_board_cases(group='ds_rsa') |