Aditya Patwardhan e5fcc2d315
fix(hal): Fixed crypto test app
Previously the crypto test app was not verifying
    that the no of failures is 0.
    Added the check to verify that
2024-06-28 18:41:01 +05:30

33 lines
1.3 KiB
Python

# SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0
import os
import pytest
from pytest_embedded import Dut
@pytest.mark.supported_targets
@pytest.mark.generic
def test_crypto(dut: Dut) -> None:
# if the env variable IDF_FPGA_ENV is set, we would need a longer timeout
# as tests for efuses burning security peripherals would be run
timeout = 600 if os.environ.get('IDF_ENV_FPGA') else 60
test_numbers = dut.expect(r'(\d+) Tests (\d+) Failures (\d+) Ignored', timeout=timeout)
failures = test_numbers.group(2).decode()
ignored = test_numbers.group(3).decode()
assert failures == '0', f'No of failures must be 0 (is {failures})'
assert ignored == '0', f'No of Ignored test must be 0 (is {ignored})'
dut.expect('Tests finished', timeout=timeout)
@pytest.mark.supported_targets
@pytest.mark.generic
@pytest.mark.parametrize('config', ['long_aes_operations'], indirect=True)
def test_crypto_long_aes_operations(dut: Dut) -> None:
# if the env variable IDF_FPGA_ENV is set, we would need a longer timeout
# as tests for efuses burning security peripherals would be run
timeout = 600 if os.environ.get('IDF_ENV_FPGA') else 60
dut.expect('Tests finished', timeout=timeout)