mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-30 22:51:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
 | |
| # SPDX-License-Identifier: Unlicense OR CC0-1.0
 | |
| 
 | |
| 
 | |
| import logging
 | |
| import re
 | |
| 
 | |
| import pytest
 | |
| from pytest_embedded import Dut
 | |
| 
 | |
| 
 | |
| @pytest.mark.esp32s3
 | |
| @pytest.mark.emmc
 | |
| @pytest.mark.parametrize(
 | |
|     'config',
 | |
|     [
 | |
|         '1line',
 | |
|         '4line',
 | |
|         '8line',
 | |
|     ],
 | |
|     indirect=True,
 | |
| )
 | |
| def test_examples_sd_card_sdmmc(dut: Dut) -> None:
 | |
|     dut.expect('example: Initializing eMMC', timeout=20)
 | |
|     dut.expect('example: Using SDMMC peripheral', timeout=10)
 | |
| 
 | |
|     # Provide enough time for possible SD card formatting
 | |
|     dut.expect('Filesystem mounted', timeout=60)
 | |
| 
 | |
|     # These lines are matched separately because of ASCII color codes in the output
 | |
|     name = dut.expect(re.compile(rb'Name: (\w+)\r'), timeout=10).group(1).decode()
 | |
|     _type = dut.expect(re.compile(rb'Type: (\S+)'), timeout=10).group(1).decode()
 | |
|     speed = dut.expect(re.compile(rb'Speed: (\S+)'), timeout=10).group(1).decode()
 | |
|     size = dut.expect(re.compile(rb'Size: (\S+)'), timeout=10).group(1).decode()
 | |
| 
 | |
|     logging.info('Card {} {} {}MHz {} found'.format(name, _type, speed, size))
 | |
| 
 | |
|     message_list = ('Opening file /eMMC/hello.txt',
 | |
|                     'File written',
 | |
|                     'Renaming file /eMMC/hello.txt to /eMMC/foo.txt',
 | |
|                     'Reading file /eMMC/foo.txt',
 | |
|                     "Read from file: 'Hello {}!'".format(name),
 | |
|                     'Card unmounted')
 | |
| 
 | |
|     for msg in message_list:
 | |
|         dut.expect(msg, timeout=10)
 |