Skip to content

Merge branch 'ci/fixes' #753

Merge branch 'ci/fixes'

Merge branch 'ci/fixes' #753

GitHub Actions / Test Results failed Oct 11, 2025 in 0s

16 errors, 38 pass in 2h 5m 8s

185 files  185 suites   2h 5m 8s ⏱️
 54 tests  38 ✅ 0 💤 0 ❌ 16 🔥
484 runs  466 ✅ 0 💤 2 ❌ 16 🔥

Results for commit 4a68204.

Annotations

Check failure on line 0 in performance.ramspeed.test_ramspeed

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 8 runs with error: test_ramspeed (performance.ramspeed.test_ramspeed)

./artifacts/test-results-hw/performance/ramspeed/esp32c5/ramspeed.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...14-19-34-682398/test_ramspeed', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7e3f2ca5be00>
build_path = '/root/.arduino/tests/esp32c5/ramspeed/build.tmp'
sketch = 'ramspeed', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in performance.superpi.test_superpi

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 8 runs with error: test_superpi (performance.superpi.test_superpi)

./artifacts/test-results-hw/performance/superpi/esp32c5/superpi.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se..._14-19-37-277092/test_superpi', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x752c51f95f40>
build_path = '/root/.arduino/tests/esp32c5/superpi/build.tmp'
sketch = 'superpi', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in performance.linpack_double.test_linpack_double

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 8 runs with error: test_linpack_double (performance.linpack_double.test_linpack_double)

./artifacts/test-results-hw/performance/linpack_double/esp32c5/linpack_double.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...29-445524/test_linpack_double', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x702966470500>
build_path = '/root/.arduino/tests/esp32c5/linpack_double/build.tmp'
sketch = 'linpack_double', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in performance.psramspeed.test_psramspeed

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 5 runs with error: test_psramspeed (performance.psramspeed.test_psramspeed)

./artifacts/test-results-hw/performance/psramspeed/esp32c5/psramspeed.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...-19-31-586519/test_psramspeed', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7e653f70c5c0>
build_path = '/root/.arduino/tests/esp32c5/psramspeed/build.tmp'
sketch = 'psramspeed', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in performance.coremark.test_coremark

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 8 runs with error: test_coremark (performance.coremark.test_coremark)

./artifacts/test-results-hw/performance/coremark/esp32c5/coremark.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...14-19-23-725902/test_coremark', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x70914e1045f0>
build_path = '/root/.arduino/tests/esp32c5/coremark/build.tmp'
sketch = 'coremark', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in performance.fibonacci.test_fibonacci

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 8 runs with error: test_fibonacci (performance.fibonacci.test_fibonacci)

./artifacts/test-results-hw/performance/fibonacci/esp32c5/fibonacci.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...4-19-26-720263/test_fibonacci', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x71beb182ce60>
build_path = '/root/.arduino/tests/esp32c5/fibonacci/build.tmp'
sketch = 'fibonacci', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.hello_world.test_hello_world

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 15 runs with error: test_hello_world (validation.hello_world.test_hello_world)

./artifacts/test-results-hw/validation/hello_world/esp32c5/hello_world.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...21-40-085382/test_hello_world', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7a94f3be3f50>
build_path = '/root/.arduino/tests/esp32c5/hello_world/build.tmp'
sketch = 'hello_world', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.periman.test_periman

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 7 runs with error: test_periman (validation.periman.test_periman)

./artifacts/test-results-hw/validation/periman/esp32c5/periman.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se..._14-21-44-720604/test_periman', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7f59dff606b0>
build_path = '/root/.arduino/tests/esp32c5/periman/build.tmp'
sketch = 'periman', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.democfg.test_democfg

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 4 runs with error: test_cfg (validation.democfg.test_democfg)

./artifacts/test-results-hw/validation/democfg/esp32c5/democfg.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...0-11_14-21-37-820978/test_cfg', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7f546e3cc800>
build_path = '/root/.arduino/tests/esp32c5/democfg/build.tmp'
sketch = 'democfg', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.nvs.test_nvs

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 22 runs with error: test_nvs (validation.nvs.test_nvs)

./artifacts/test-results-hw/validation/nvs/esp32c5/nvs.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...0-11_14-21-42-406548/test_nvs', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7e9df386c4d0>
build_path = '/root/.arduino/tests/esp32c5/nvs/build.tmp', sketch = 'nvs'
target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in performance.linpack_float.test_linpack_float

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 8 runs with error: test_linpack_float (performance.linpack_float.test_linpack_float)

./artifacts/test-results-hw/performance/linpack_float/esp32c5/linpack_float.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...-32-144635/test_linpack_float', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x74a7cd98c110>
build_path = '/root/.arduino/tests/esp32c5/linpack_float/build.tmp'
sketch = 'linpack_float', target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.timer.test_timer

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_timer (validation.timer.test_timer) with error

./artifacts/test-results-hw/validation/timer/esp32c5/timer.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...11_14-21-46-814218/test_timer', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x782cda5d0770>
build_path = '/root/.arduino/tests/esp32c5/timer/build.tmp', sketch = 'timer'
target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check warning on line 0 in validation.wifi.test_wifi

See this annotation in the file changed.

@github-actions github-actions / Test Results

2 out of 12 runs failed: test_wifi (validation.wifi.test_wifi)

./artifacts/test-results-hw/validation/wifi/esp32c3/wifi.xml [took 1m 35s]
./artifacts/test-results-hw/validation/wifi/esp32c6/wifi.xml [took 1m 33s]
Raw output
pexpect.exceptions.TIMEOUT: Not found "Wokwi-GUEST"
Bytes in current buffer (color code eliminated): ason: 201
Please check the full log here: /tmp/pytest-embedded/2025-10-11_14-24-30-600180/test_wifi/dut.log
self = <pytest_embedded_serial.dut.SerialDut object at 0x7f731bbdccb0>
pattern = 'Wokwi-GUEST', expect_all = False, not_matching = ()
return_what_before_match = False, args = (), kwargs = {}
patterns = ['Wokwi-GUEST'], res = []
debug_str = 'Not found "Wokwi-GUEST"\nBytes in current buffer (color code eliminated): ason: 201\nPlease check the full log here: /tmp/pytest-embedded/2025-10-11_14-24-30-600180/test_wifi/dut.log'

    @functools.wraps(func)
    def wrapper(
        self,
        pattern,
        *args,
        expect_all: bool = False,
        not_matching: list[str | re.Pattern] = (),
        return_what_before_match: bool = False,
        **kwargs,
    ) -> Match | AnyStr | list[Match | AnyStr]:
        if return_what_before_match and expect_all:
            raise ValueError('`return_what_before_match` and `expect_all` cannot be `True` at the same time.')
    
        patterns = to_list(pattern)
        res = []
        while patterns:
            try:
>               index = func(self, pattern, *args, **kwargs)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/dut.py:86: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut.py:170: in expect_exact
    return self.pexpect_proc.expect_exact(pattern, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pexpect/spawnbase.py:432: in expect_exact
    return exp.expect_loop(timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop
    return self.timeout(e)
           ^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pexpect.expect.Expecter object at 0x7f731b80d1c0>
err = TIMEOUT("<pytest_embedded.log.PexpectProcess object at 0x7f731c922990>\nsearcher: searcher_string:\n    0: b'Wokwi-GUEST'")

    def timeout(self, err=None):
        spawn = self.spawn
    
        spawn.before = spawn._before.getvalue()
        spawn.after = TIMEOUT
        index = self.searcher.timeout_index
        if index >= 0:
            spawn.match = TIMEOUT
            spawn.match_index = index
            return index
        else:
            spawn.match = None
            spawn.match_index = None
            msg = str(spawn)
            msg += '\nsearcher: %s' % self.searcher
            if err is not None:
                msg = str(err) + '\n' + msg
    
            exc = TIMEOUT(msg)
            exc.__cause__ = None    # in Python 3.x we can use "raise exc from None"
>           raise exc
E           pexpect.exceptions.TIMEOUT: <pytest_embedded.log.PexpectProcess object at 0x7f731c922990>
E           searcher: searcher_string:
E               0: b'Wokwi-GUEST'
E           <pytest_embedded.log.PexpectProcess object at 0x7f731c922990>
E           searcher: searcher_string:
E               0: b'Wokwi-GUEST'

/usr/local/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT

The above exception was the direct cause of the following exception:

dut = <pytest_embedded_serial.dut.SerialDut object at 0x7f731bbdccb0>

    def test_wifi(dut):
        LOGGER = logging.getLogger(__name__)
    
        LOGGER.info("Starting WiFi Scan")
        dut.expect_exact("Scan start")
        dut.expect_exact("Scan done")
>       dut.expect_exact("Wokwi-GUEST")

tests/validation/wifi/test_wifi.py:10: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_serial.dut.SerialDut object at 0x7f731bbdccb0>
pattern = 'Wokwi-GUEST', expect_all = False, not_matching = ()
return_what_before_match = False, args = (), kwargs = {}
patterns = ['Wokwi-GUEST'], res = []
debug_str = 'Not found "Wokwi-GUEST"\nBytes in current buffer (color code eliminated): ason: 201\nPlease check the full log here: /tmp/pytest-embedded/2025-10-11_14-24-30-600180/test_wifi/dut.log'

    @functools.wraps(func)
    def wrapper(
        self,
        pattern,
        *args,
        expect_all: bool = False,
        not_matching: list[str | re.Pattern] = (),
        return_what_before_match: bool = False,
        **kwargs,
    ) -> Match | AnyStr | list[Match | AnyStr]:
        if return_what_before_match and expect_all:
            raise ValueError('`return_what_before_match` and `expect_all` cannot be `True` at the same time.')
    
        patterns = to_list(pattern)
        res = []
        while patterns:
            try:
                index = func(self, pattern, *args, **kwargs)
            except (pexpect.EOF, pexpect.TIMEOUT) as e:
                debug_str = (
                    f'Not found "{pattern!s}"\n'
                    f'Bytes in current buffer (color code eliminated): {self.pexpect_proc.buffer_debug_str}\n'
                    f'Please check the full log here: {self.logfile}'
                )
>               raise e.__class__(debug_str) from e
E               pexpect.exceptions.TIMEOUT: Not found "Wokwi-GUEST"
E               Bytes in current buffer (color code eliminated): ason: 201
E               Please check the full log here: /tmp/pytest-embedded/2025-10-11_14-24-30-600180/test_wifi/dut.log

/usr/local/lib/python3.12/site-packages/pytest_embedded/dut.py:93: TIMEOUT

Check failure on line 0 in validation.wifi.test_wifi

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 12 runs with error: test_wifi (validation.wifi.test_wifi)

./artifacts/test-results-hw/validation/wifi/esp32c5/wifi.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...-11_14-21-53-535720/test_wifi', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x791922b2c650>
build_path = '/root/.arduino/tests/esp32c5/wifi/build.tmp', sketch = 'wifi'
target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.uart.test_uart

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_uart (validation.uart.test_uart) with error

./artifacts/test-results-hw/validation/uart/esp32c5/uart.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...-11_14-21-49-143722/test_uart', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x7c0a31d6c680>
build_path = '/root/.arduino/tests/esp32c5/uart/build.tmp', sketch = 'uart'
target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.unity.test_unity

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_unity (validation.unity.test_unity) with error

./artifacts/test-results-hw/validation/unity/esp32c5/unity.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...11_14-21-51-252466/test_unity', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x74eac23d7d70>
build_path = '/root/.arduino/tests/esp32c5/unity/build.tmp', sketch = 'unity'
target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check failure on line 0 in validation.psram.test_psram

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_psram (validation.psram.test_psram) with error

./artifacts/test-results-hw/validation/psram/esp32c5/psram.xml [took 0s]
Raw output
failed on setup with "KeyError: 'esp32c5'"
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...11_14-20-52-286518/test_psram', port_target_cache={}, port_app_cache={}, logfile_extension='.log'), 'serial': None}}))}

    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        if _COUNT == 1:
            if func.__name__ == 'dut_index':
                kwargs['count'] = 1
>           return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^

/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.12/site-packages/pytest_embedded/plugin.py:1124: in app
    return app_fn(**locals())
           ^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded/dut_factory.py:445: in app_fn
    return cls(**_drop_none_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:50: in __init__
    self.flash_files = self._get_bin_files(self.binary_path, self.sketch, self.target)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pytest_embedded_arduino.app.ArduinoApp object at 0x798a44cf0740>
build_path = '/root/.arduino/tests/esp32c5/psram/build.tmp', sketch = 'psram'
target = 'esp32c5'

    def _get_bin_files(self, build_path, sketch, target) -> list[tuple[int, str, bool]]:
        bootloader = os.path.realpath(os.path.join(build_path, sketch + '.ino.bootloader.bin'))
        partitions = os.path.realpath(os.path.join(build_path, sketch + '.ino.partitions.bin'))
        app = os.path.realpath(os.path.join(build_path, sketch + '.ino.bin'))
        files = [bootloader, partitions, app]
>       offsets = self.binary_offsets[target]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       KeyError: 'esp32c5'

/usr/local/lib/python3.12/site-packages/pytest_embedded_arduino/app.py:65: KeyError

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results

54 tests found

There are 54 tests, see "Raw output" for the full list of tests.
Raw output
auto_baudrate_test
basic_transmission_test
begin_when_running_test
change_baudrate_test
change_clock
change_cpu_frequency_test
change_pins_test
disabled_uart_calls_test
enabled_uart_calls_test
end_when_stopped_test
performance.coremark.test_coremark ‑ test_coremark
performance.fibonacci.test_fibonacci ‑ test_fibonacci
performance.linpack_double.test_linpack_double ‑ test_linpack_double
performance.linpack_float.test_linpack_float ‑ test_linpack_float
performance.psramspeed.test_psramspeed ‑ test_psramspeed
performance.ramspeed.test_ramspeed ‑ test_ramspeed
performance.superpi.test_superpi ‑ test_superpi
periman_test
psram_found
resize_buffers_test
rtc_run_clock
rtc_set_time
scan_bus
scan_bus_with_wifi
swap_pins
test_api
test_calloc_success
test_fail
test_malloc_fail
test_malloc_success
test_memcpy
test_memset_all_ones
test_memset_all_zeroes
test_memset_alternating
test_memset_random
test_pass
test_realloc_success
test_touch_errors
test_touch_interrtupt
test_touch_read
timer_clock_select_test
timer_divider_test
timer_interrupt_test
timer_read_test
validation.democfg.test_democfg ‑ test_cfg
validation.gpio.test_gpio ‑ test_gpio
validation.hello_world.test_hello_world ‑ test_hello_world
validation.nvs.test_nvs ‑ test_nvs
validation.periman.test_periman ‑ test_periman
validation.psram.test_psram ‑ test_psram
validation.timer.test_timer ‑ test_timer
validation.uart.test_uart ‑ test_uart
validation.unity.test_unity ‑ test_unity
validation.wifi.test_wifi ‑ test_wifi