fix(tests): Fix wrong selection of tests and add debug flag for testi… #10317
16 errors, 30 pass in 35m 41s
154 files 154 suites 35m 41s ⏱️
46 tests 30 ✅ 0 💤 0 ❌ 16 🔥
255 runs 181 ✅ 0 💤 0 ❌ 74 🔥
Results for commit 09a6770.
Annotations
Check failure on line 0 in performance.coremark.test_coremark
github-actions / Test Results
4 out of 6 runs with error: test_coremark (performance.coremark.test_coremark)
./artifacts/parent-artifacts/results/hw/performance/coremark/esp32/coremark.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/coremark/esp32c6/coremark.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/coremark/esp32h2/coremark.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/coremark/esp32s2/coremark.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f79b2ab33a0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f79b27d3730>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f79b27136d0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f79b2ab2f50>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f79b2ab3160>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f79b27d3730>
target = 'esp32h2', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-29-56-934787/test_coremark', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.nvs.test_nvs
github-actions / Test Results
14 out of 34 runs with error: test_nvs (validation.nvs.test_nvs)
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32/nvs0.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32/nvs1.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32c3/nvs0.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32c3/nvs1.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32c6/nvs0.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32c6/nvs1.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32c6/nvs2.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32c6/nvs3.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32h2/nvs0.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32h2/nvs1.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32h2/nvs2.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32h2/nvs3.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32s2/nvs0.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/nvs/esp32s2/nvs1.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f4fd4ee5840>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f4fd4c078e0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f4fd4b47640>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f4fd4ee7280>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f4fd4ee7670>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f4fd4c078e0>
target = 'esp32c3', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-47-01-694189/test_nvs', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in performance.superpi.test_superpi
github-actions / Test Results
4 out of 6 runs with error: test_superpi (performance.superpi.test_superpi)
./artifacts/parent-artifacts/results/hw/performance/superpi/esp32/superpi.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/superpi/esp32c6/superpi.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/superpi/esp32h2/superpi.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/superpi/esp32s2/superpi.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f29e9ff3400>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f29e9d13970>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f29e9c53520>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f29e9ff2f20>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f29e9ff3190>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f29e9d13970>
target = 'esp32s2', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-35-42-252958/test_superpi', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.touch.test_touch
github-actions / Test Results
All 2 runs with error: test_touch (validation.touch.test_touch)
./artifacts/parent-artifacts/results/hw/validation/touch/esp32/touch.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/touch/esp32s2/touch.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f4eef949840>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f4eef66bb80>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f4eef5ab640>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f4eef94b280>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f4eef94b670>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f4eef66bb80>
target = 'esp32', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-42-35-849409/test_touch', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.democfg.test_democfg
github-actions / Test Results
5 out of 12 runs with error: test_cfg (validation.democfg.test_democfg)
./artifacts/parent-artifacts/results/hw/validation/democfg/esp32/democfg0.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/democfg/esp32/democfg1.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/democfg/esp32c3/democfg.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/democfg/esp32c6/democfg.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/democfg/esp32s2/democfg.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7efea477d9c0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7efea44a3b50>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7efea43e75b0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7efea477f040>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7efea477f640>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7efea44a3b50>
target = 'esp32', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-40-47-595281/test_cfg', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in performance.fibonacci.test_fibonacci
github-actions / Test Results
4 out of 6 runs with error: test_fibonacci (performance.fibonacci.test_fibonacci)
./artifacts/parent-artifacts/results/hw/performance/fibonacci/esp32/fibonacci.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/fibonacci/esp32c6/fibonacci.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/fibonacci/esp32h2/fibonacci.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/fibonacci/esp32s2/fibonacci.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f40cc0f33d0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f40cbe17af0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f40cbd5b7f0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f40cc0f3040>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f40cc0f19c0>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f40cbe17af0>
target = 'esp32c6', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-30-21-765228/test_fibonacci', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.unity.test_unity
github-actions / Test Results
All 5 runs with error: test_unity (validation.unity.test_unity)
./artifacts/parent-artifacts/results/hw/validation/unity/esp32/unity.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/unity/esp32c3/unity.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/unity/esp32c6/unity.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/unity/esp32h2/unity.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/unity/esp32s2/unity.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f296cd3d840>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f296ca639d0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f296c9a75b0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f296cd3f280>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f296cd3f670>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f296ca639d0>
target = 'esp32s2', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-55-15-888136/test_unity', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.hello_world.test_hello_world
github-actions / Test Results
5 out of 12 runs with error: test_hello_world (validation.hello_world.test_hello_world)
./artifacts/parent-artifacts/results/hw/validation/hello_world/esp32/hello_world.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/hello_world/esp32c3/hello_world.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/hello_world/esp32c6/hello_world.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/hello_world/esp32h2/hello_world.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/hello_world/esp32s2/hello_world.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7fc4e1bcf160>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7fc4e18f3be0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7fc4e1837ac0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7fc4e1bcefe0>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7fc4e1bcf6a0>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7fc4e18f3be0>
target = 'esp32c6', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-34-26-993427/test_hello_world', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.periman.test_periman
github-actions / Test Results
5 out of 6 runs with error: test_periman (validation.periman.test_periman)
./artifacts/parent-artifacts/results/hw/validation/periman/esp32/periman.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/periman/esp32c3/periman.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/periman/esp32c6/periman.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/periman/esp32h2/periman.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/periman/esp32s2/periman.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f15be4cf370>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f15be1f38e0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f15be1375b0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f15be4cf040>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f15be4cd840>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f15be1f38e0>
target = 'esp32c3', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-47-32-610667/test_periman', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in performance.ramspeed.test_ramspeed
github-actions / Test Results
4 out of 6 runs with error: test_ramspeed (performance.ramspeed.test_ramspeed)
./artifacts/parent-artifacts/results/hw/performance/ramspeed/esp32/ramspeed.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/ramspeed/esp32c6/ramspeed.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/ramspeed/esp32h2/ramspeed.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/ramspeed/esp32s2/ramspeed.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f91f00d73d0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f91efdfba60>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f91efd3f520>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f91f00d7040>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f91f00d59c0>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f91efdfba60>
target = 'esp32', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-31-32-972816/test_ramspeed', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in performance.linpack_float.test_linpack_float
github-actions / Test Results
4 out of 6 runs with error: test_linpack_float (performance.linpack_float.test_linpack_float)
./artifacts/parent-artifacts/results/hw/performance/linpack_float/esp32/linpack_float.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/linpack_float/esp32c6/linpack_float.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/linpack_float/esp32h2/linpack_float.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/linpack_float/esp32s2/linpack_float.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7fc9e70d33d0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7fc9e6dfb8b0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7fc9e6d3bac0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7fc9e70d3040>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7fc9e70d19c0>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7fc9e6dfb8b0>
target = 'esp32s2', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-34-55-726012/test_linpack_float', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.timer.test_timer
github-actions / Test Results
All 5 runs with error: test_timer (validation.timer.test_timer)
./artifacts/parent-artifacts/results/hw/validation/timer/esp32/timer.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/timer/esp32c3/timer.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/timer/esp32c6/timer.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/timer/esp32h2/timer.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/timer/esp32s2/timer.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f0b482b5840>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f0b47fdb700>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f0b47f1f5b0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f0b482b7280>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f0b482b7670>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f0b47fdb700>
target = 'esp32s2', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-54-29-409539/test_timer', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.psram.test_psram
github-actions / Test Results
All 2 runs with error: test_psram (validation.psram.test_psram)
./artifacts/parent-artifacts/results/hw/validation/psram/esp32/psram.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/psram/esp32s2/psram.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7fda9d5119c0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7fda9d237b20>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7fda9d17b640>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7fda9d513040>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7fda9d513640>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7fda9d237b20>
target = 'esp32', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-42-04-964312/test_psram', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in performance.linpack_double.test_linpack_double
github-actions / Test Results
4 out of 6 runs with error: test_linpack_double (performance.linpack_double.test_linpack_double)
./artifacts/parent-artifacts/results/hw/performance/linpack_double/esp32/linpack_double.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/linpack_double/esp32c6/linpack_double.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/linpack_double/esp32h2/linpack_double.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/linpack_double/esp32s2/linpack_double.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7f4bf7aa73a0>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7f4bf77cb8e0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7f4bf770fac0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7f4bf7aa6f50>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7f4bf7aa7160>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7f4bf77cb8e0>
target = 'esp32', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-30-46-518519/test_linpack_double', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in performance.psramspeed.test_psramspeed
github-actions / Test Results
2 out of 3 runs with error: test_psramspeed (performance.psramspeed.test_psramspeed)
./artifacts/parent-artifacts/results/hw/performance/psramspeed/esp32/psramspeed.xml [took 3s]
./artifacts/parent-artifacts/results/hw/performance/psramspeed/esp32s2/psramspeed.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7ff3a2067400>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7ff3a1d8bbe0>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7ff3a1ccfbe0>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7ff3a2066f20>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7ff3a2067190>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7ff3a1d8bbe0>
target = 'esp32', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-31-17-512931/test_psramspeed', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check failure on line 0 in validation.uart.test_uart
github-actions / Test Results
All 5 runs with error: test_uart (validation.uart.test_uart)
./artifacts/parent-artifacts/results/hw/validation/uart/esp32/uart.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/uart/esp32c3/uart.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/uart/esp32c6/uart.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/uart/esp32h2/uart.xml [took 3s]
./artifacts/parent-artifacts/results/hw/validation/uart/esp32s2/uart.xml [took 3s]
Raw output
failed on setup with "ValueError: Couldn't auto detect chip. Please manually specify with "--port""
args = ()
kwargs = {'_fixture_classes_and_options': ClassCliOptions(classes={'app': <class 'pytest_embedded_arduino.app.ArduinoApp'>, 'se...ino.app.ArduinoApp object at 0x7fcc2cf11840>, 'msg_queue': <pytest_embedded.log.MessageQueue object at 0x7fcc2cc33760>}
_close_or_terminate = <function multi_dut_generator_fixture.<locals>.wrapper.<locals>._close_or_terminate at 0x7fcc2cb73640>
res = None
@functools.wraps(func)
def wrapper(*args, **kwargs):
def _close_or_terminate(obj):
if obj is None:
del obj
return
try:
if isinstance(obj, (subprocess.Popen, multiprocessing.process.BaseProcess)):
obj.terminate()
obj.kill()
elif isinstance(obj, io.IOBase):
try:
obj.close()
except Exception as e:
logging.debug('file %s closed failed with error: %s', obj, str(e))
else:
try:
obj.close()
except AttributeError:
try:
obj.terminate()
except AttributeError:
pass
except Exception as e:
logging.debug('Not properly caught object %s: %s', obj, str(e))
except Exception as e:
logging.debug('%s: %s', obj, str(e))
return # swallow up all error
finally:
referrers = gc.get_referrers(obj)
for _referrer in referrers:
if isinstance(_referrer, list):
for _i, val in enumerate(_referrer):
if val is obj:
_referrer[_i] = None
elif isinstance(_referrer, dict):
for key, value in _referrer.items():
if value is obj:
_referrer[key] = None
del obj
if _COUNT == 1:
res = None
try:
> res = func(*args, **kwargs)
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:490:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.10/site-packages/pytest_embedded/plugin.py:1111: in serial
return serial_gn(**locals())
/usr/local/lib/python3.10/site-packages/pytest_embedded/dut_factory.py:431: in serial_gn
return cls(**_drop_none_kwargs(kwargs))
/usr/local/lib/python3.10/site-packages/pytest_embedded_arduino/serial.py:26: in __init__
super().__init__(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pytest_embedded_arduino.serial.ArduinoSerial object at 0x7fcc2cf13280>
pexpect_proc = <pytest_embedded.log.PexpectProcess object at 0x7fcc2cf13670>
msg_queue = <pytest_embedded.log.MessageQueue object at 0x7fcc2cc33760>
target = 'esp32c3', beta_target = None, port = None, port_mac = None
baud = 115200, esptool_baud = 921600, esp_flash_force = False
skip_autoflash = False, erase_all = False
meta = Meta(logdir='/tmp/pytest-embedded/2024-11-11_02-48-03-645162/test_uart', port_target_cache={}, port_app_cache={}, logfile_extension='.log')
ports_to_occupy = (), kwargs = {}, available_ports = ['/dev/ttyS0']
ports = ['/dev/ttyS0']
def __init__(
self,
pexpect_proc: PexpectProcess,
msg_queue: MessageQueue,
target: Optional[str] = None,
beta_target: Optional[str] = None,
port: Optional[str] = None,
port_mac: Optional[str] = None,
baud: int = Serial.DEFAULT_BAUDRATE,
esptool_baud: int = ESPTOOL_DEFAULT_BAUDRATE,
esp_flash_force: bool = False,
skip_autoflash: bool = False,
erase_all: bool = False,
meta: Optional[Meta] = None,
ports_to_occupy: List[str] = (),
**kwargs,
) -> None:
self._meta = meta
esptool_target = beta_target or target or 'auto'
if port is None or port.endswith('*'):
port_filter = port.strip('*') if port else ''
available_ports = [_p for _p in esptool.get_port_list() if port_filter in _p]
ports = list(set(available_ports) - set(self.occupied_ports.keys()) - set(ports_to_occupy))
# sort to make /dev/ttyS* ports before /dev/ttyUSB* ports
# esptool will reverse the list
ports.sort()
if port_mac:
for port in ports:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
break
else:
raise ValueError(f'The specified MAC address {port_mac} cannot be found.')
# prioritize the cache recorded target port
if esptool_target and self._meta:
ports.sort(key=lambda x: self._meta.hit_port_target_cache(x, esptool_target))
logging.debug(f'Detecting ports from {", ".join(ports)}')
else:
if port_mac:
if _is_port_mac_verified(pexpect_proc, port, port_mac, msg_queue):
ports = [port]
else:
raise ValueError(f'The specified MAC address {port_mac} binds with different port, not with {port}')
else:
ports = [port]
# normal loader
if esptool_target not in ['auto', *ESPTOOL_CHIPS]:
raise ValueError(
f'esptool version {ESPTOOL_VERSION} not support target {esptool_target}\n'
f'Supported targets: {ESPTOOL_CHIPS}'
)
with contextlib.redirect_stdout(msg_queue):
self.esp = esptool.get_default_connected_device(
ports,
port=port,
connect_attempts=3,
initial_baud=baud,
chip=esptool_target,
)
if not self.esp:
> raise ValueError('Couldn\'t auto detect chip. Please manually specify with "--port"')
E ValueError: Couldn't auto detect chip. Please manually specify with "--port"
/usr/local/lib/python3.10/site-packages/pytest_embedded_serial_esp/serial.py:118: ValueError
Check notice on line 0 in .github
github-actions / Test Results
46 tests found
There are 46 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_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
resize_buffers_test
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.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.touch.test_touch ‑ test_touch
validation.uart.test_uart ‑ test_uart
validation.unity.test_unity ‑ test_unity
validation.wifi.test_wifi ‑ test_wifi