Merge branch 'bugfix/storage_generic_pytests_v5.2' into 'release/v5.2'

fix(ci): Removed storage related entries in known generate test child pipeline warnings (v5.2)

See merge request espressif/esp-idf!36686
This commit is contained in:
Jiang Jiang Jian 2025-03-04 11:00:24 +08:00
commit 511423cd2e
12 changed files with 54 additions and 19 deletions

View File

@ -1,3 +1,9 @@
components/nvs_flash/host_test:
enable:
- if: IDF_TARGET == "linux"
components/nvs_flash/test_apps:
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3"]
temporary: true
reason: NVS flash test on one Xtensa and one RISCV target is enough

View File

@ -3,24 +3,23 @@
# esp-idf NVS partition generation tool. Tool helps in generating NVS-compatible
# partition binary, with key-value pair entries provided via a CSV file.
#
# SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2018-2025 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0
#
import argparse
import array
import binascii
import codecs
import csv
import datetime
import distutils.dir_util
import os
import random
import struct
import sys
import textwrap
import zlib
from io import open
import distutils.dir_util
try:
from cryptography.hazmat.backends import default_backend
@ -891,7 +890,7 @@ def generate_key(args):
encr_key_bytes = e_key + t_key
key_len = len(encr_key_bytes)
key = f"{int.from_bytes(encr_key_bytes, 'big'):x}"
key = encr_key_bytes.hex()
keys_buf[0:key_len] = encr_key_bytes
crc_data = keys_buf[0:key_len]

View File

@ -10,7 +10,8 @@ CONFIGS_NVS_ENCR_FLASH_ENC = [
]
@pytest.mark.supported_targets
@pytest.mark.esp32
@pytest.mark.esp32c3
@pytest.mark.generic
@pytest.mark.parametrize('config', ['default'], indirect=True)
def test_nvs_flash(dut: IdfDut) -> None:

View File

@ -0,0 +1,5 @@
components/vfs/test_apps:
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32s3", "esp32c2", "esp32c3", "esp32c6", "esp32h2"]
temporary: true
reason: Only run VFS tests on a subset of targets

View File

@ -1,6 +1,5 @@
# SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0
import pytest
from pytest_embedded import Dut
@ -18,7 +17,6 @@ def test_vfs_default(dut: Dut) -> None:
@pytest.mark.esp32
@pytest.mark.esp32s2
@pytest.mark.generic
@pytest.mark.parametrize('config', [
'ccomp',

View File

@ -7,3 +7,5 @@ CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
CONFIG_ESP_TASK_WDT_INIT=n
CONFIG_VFS_MAX_COUNT=10

View File

@ -1,6 +1,5 @@
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
import logging
import random
import re
@ -13,6 +12,7 @@ from pytest_embedded import Dut
@pytest.mark.esp32
@pytest.mark.esp32c3
@pytest.mark.generic
def test_examples_nvs_rw_blob(dut: Dut) -> None:
def expect_start_msg(index: int) -> None:
dut.expect('Restart counter = {}'.format(index), timeout=10)

View File

@ -1,6 +1,5 @@
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
import logging
from itertools import zip_longest
@ -10,11 +9,14 @@ from pytest_embedded import Dut
@pytest.mark.esp32
@pytest.mark.esp32c3
@pytest.mark.generic
def test_examples_nvs_rw_value(dut: Dut) -> None:
dut.serial.erase_flash()
dut.serial.flash()
for i, counter_state in zip_longest(range(4), ('The value is not initialized yet!',), fillvalue='Done'):
dut.expect('Opening Non-Volatile Storage \\(NVS\\) handle... Done', timeout=20)
dut.expect('Reading restart counter from NVS ... {}'.format(counter_state), timeout=20)
dut.expect('Restart counter = {}'.format(i) if i > 0 else '', timeout=20)
dut.expect('Restart counter = {}'.format(i) if int(i) > 0 else '', timeout=20)
dut.expect('Updating restart counter in NVS ... Done', timeout=20)
dut.expect('Committing updates in NVS ... Done', timeout=20)
dut.expect('Restarting in 10 seconds...', timeout=20)

View File

@ -1,6 +1,5 @@
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
import logging
from itertools import zip_longest
@ -10,11 +9,14 @@ from pytest_embedded import Dut
@pytest.mark.esp32
@pytest.mark.esp32c3
@pytest.mark.generic
def test_examples_nvs_rw_value_cxx(dut: Dut) -> None:
dut.serial.erase_flash()
dut.serial.flash()
for i, counter_state in zip_longest(range(4), ('The value is not initialized yet!',), fillvalue='Done'):
dut.expect('Opening Non-Volatile Storage \\(NVS\\) handle... Done', timeout=20)
dut.expect('Reading restart counter from NVS ... {}'.format(counter_state), timeout=20)
dut.expect('Restart counter = {}'.format(i) if i > 0 else '', timeout=20)
dut.expect('Restart counter = {}'.format(i) if int(i) > 0 else '', timeout=20)
dut.expect('Updating restart counter in NVS ... Done', timeout=20)
dut.expect('Committing updates in NVS ... Done', timeout=20)
dut.expect('Restarting in 10 seconds...', timeout=20)

View File

@ -105,7 +105,7 @@ void app_main(void)
ESP_LOGI(TAG, "file still exists");
return;
} else {
ESP_LOGI(TAG, "file doesnt exist, format done");
ESP_LOGI(TAG, "file does not exist, format done");
}
//Create file and write

View File

@ -1,7 +1,5 @@
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
import re
import pytest
@ -10,6 +8,7 @@ from pytest_embedded import Dut
@pytest.mark.esp32
@pytest.mark.esp32c3
@pytest.mark.generic
def test_wear_levelling_example(dut: Dut) -> None:
message_list = ('example: Mounting FAT filesystem',
@ -18,7 +17,7 @@ def test_wear_levelling_example(dut: Dut) -> None:
'example: Reading file',
re.compile(str.encode('example: Read from file: \'hello world, from ESP-IDF \\S+\'')),
re.compile(str.encode('vfs_fat_spiflash: Formatting FATFS partition, allocation unit size=\\S+')),
'example: file doesnt exist, format done',
'example: file does not exist, format done',
'example: Opening file',
'example: File written',
'example: Reading file',

View File

@ -0,0 +1,21 @@
# This is the file that contains the known warnings for the generate_test_child_pipeline.py script.
# no_env_marker_test_cases: List of test cases that do not have environment markers.
# each item shall be the test node id, you may check the error message to get the node id.
no_env_marker_test_cases:
- dummy_test_case
# no_runner_tags: List of runner tags that has no test runner set.
# each item shall be a comma separated list of runner tags.
# NOTE:
# 1. for multi dut tests, the runner tag shall be <target>_<count>, e.g. esp32_2 instead of esp32,esp32
# 2. don't have spaces in the comma separated list.
no_runner_tags:
- esp32,ip101
- esp32c2,jtag,xtal_40mhz
- esp32c3,flash_multi
- esp32c3,sdcard_sdmode
- esp32c6,jtag
- esp32h2,jtag
- esp32p4,jtag
- esp32s2,usb_host_flash_disk