Releases: labgrid-project/labgrid
Releases · labgrid-project/labgrid
v23.0.6
Bug fixes in 23.0.6
- In
USBVideoDriver
, use theplaybin3
element instead ofplaybin
to fix decoding via VA-API for certain webcams on AMD graphic cards. - Let the
SSHDriver
redirect/dev/null
to stdin onrun()
to prevent unexpected consumption of stdin of the remotely started process. - Cover more failure scenarios in the exporter and coordinator systemd services, fix the service startup order, do not buffer journal logs.
v23.0.5
Bug fixes in 23.0.5
- Fix readthedocs build by specifying Python version and OS.
- Fix several incompatibilities with doc sphinxcontrib-* dependencies having dropped their explicit Sphinx dependencies, which prevented generation of labgrid's docs.
v23.0.4
Bug fixes in 23.0.4
- Fix dockerfiles syntax error that became fatal in a recent docker release.
- Fix ShellDriver's xmodem functionality.
- Pin pylint to prevent incompatibility with pinned pytest-pylint.
- Fix
labgrid-client console --loop
on disappearing serial ports (such as on-board FTDIs).
v23.0.3
Bug fixes in 23.0.3
- Update to PyYAML 6.0.1 to prevent install errors with Cython>=3.0, see:
yaml/pyyaml#601
yaml/pyyaml#726 (comment)
v23.0.2
Bug fixes in 23.0.2
- Move
SSHDriver
's control socket tmpdir clean up after the the SSH process
has terminated. Ignore errors on cleanup since it's best effort. - Add missing class name in
labgrid-client monitor
resource output. - Print USB loader process output if log level does not cover logging it.
- Fix UnboundLocalError in
atomic_replace()
used by the coordinator and
labgrid-client export
to write config files. - Let Config's
get_tool()
return the requested tool if it is not found in
the config. Return the resolved path if it exists, otherwise return the value
as is. Also drop the now obsolete tool fallbacks from the drivers and add
tests. - Fix
USBSDMuxDevice
/USBSDWireDevice
udev race condition leading to
outdated control/disk paths. - Fix
SSHDriver
'sexplicit_sftp_mode
option to allow calls toput()
andget()
multiple times. Also makescp()
respect this option. - Add compatibility with QEMU >= 6.1.0 to
QEMUDriver
'sdisplay
argument
for theegl-headless
option.
v23.0.1
Bug fixes in 23.0.1
- The pypi release now uses the labgrid pyserial fork in the form of the
pyserial-labgrid package. This fixes installation with newer versions
of pip. - Several tests have gained an importorskip() call to skip them if the
module is not available. - The build-and-release workflow supports building wheels.
- The markers now are restricted to patterns which won't match WARN,
ERROR, INFO and similar log notifiers. - Fix named SSH lookups in conjunction with an environment file in
labgrid-client.
v23.0
New Features in 23.0
- Python 3.6 support has been dropped.
- Exporter config templates now have access to the following new variables:
isolated (all resource accesses must be tunneled True/False),
hostname (of the exporter host), name (of the exporter). - ModbusRTU driver for instruments
- Support for Eaton ePDU and TP-Link power strips added, either can be used as
a NetworkPowerPort. - The example strategies now wait for complete system startup using systemctl.
- Consider a combination of multiple "lg_feature" markers instead of
considering only the closest marker. - There is a new
get_strategy
helper function which returns the strategy of
the target. - labgrid-client now supports an
export
command which exposes the resource
information as environment variables. - Newer C920 webcams are now supported.
- The pytestplugin now correctly combines feature markers instead of replacing
them. - The ConsoleLoggingReporter is now exported for library usage.
- The HD 2MP Webcam is now supported by the video-driver.
- TP-Link power strips are supported by the NetworkPowerDriver.
- A ModbusRTUResource and Driver has been added to control RS485 equipment.
- The strategies within labgrid learned the force() function.
- The labgrid client SSH command is now able to instantiate the SSHDriver when
there are multiple NetworkService resources available. - eg_pms2_network power port driver supports controlling the Energenie power
management series with devices like the EG_PMS2_LAN & EG_PMS2_WLAN. - The client and coordinator learned of a new "release-from" operation that
only releases a place if it acquired by a specific user. This can be used to
prevent race conditions when attempting to automate the cleanup of unused
places (e.g. in CI jobs). - ModbusTCPCoil driver supports writing using multiple coils write method
in order to make driver usable with Papouch Quido I/O modules. - If supported, ser2net started by the exporter now allows multiple connections.
- SmallUBootDriver driver now supports wide range of Ralink/mt7621 devices
which expectsboot_secret
without new line with newboot_secret_nolf
boolean config option. - More USBVideo devices have been added.
- labgrid now uses a custom yaml loader/dumper.
- labgrid-client add-match/add-named-match check for duplicate matches
DFUDriver
has been added to communicate with aDFUDevice
, a device in DFU
(Device Firmware Upgrade) mode.labgrid-client dfu
added to allow communication with devices in DFU mode.- Support for QEMU Q35 machine added.
UBootDriver
now handles idle console, allowing driver activation on
an interrupted U-Boot.- Support for the STLINK-V3 has been added to the USBDebugger resource.
- labgrid-suggest can now suggest matches for a USBPowerPort used by power
switchable USB hubs. - AndroidFastboot is now deprecated and was replaced by AndroidUSBFastboot. This
is more consistent with the AndroidNetFastboot support. - In case multiple matches are found for a driver, labgrid-client now outputs
the available names. - ProcessWrapper now supports an "input" argument to check_output() that allows
a string to be passed to stdin of the process. - The
NetworkInterfaceDriver
now supports local and remote SSH port
forwarding to/from the exporter. - labgrid was switched over to use pyproject.toml.
- A contrib script was added to export coordinator metrics to stasd.
- The SSH connection timeout can now be globally controlled using the
LG_SSH_CONNECT_TIMEOUT
environment variable. - The
QEMUDriver
now supports adisplay
option which can specify if an
display device should be created.none
(the default) will not create a
display device,fb-headless
will create a headless framebuffer device
for software rendering, andegl-headless
will create a headless GPU
device for accelerated rendering (but requires host support). - The
AndroidFastbootDriver
now supports interaction with network devices in
fastboot state. - Add bash completion for labgrid-client.
- The
QEMUDriver
now support anic
property that can be used to create a
network interface when booting. - The SSHDriver now correctly uses the processwrapper for rsync.
- The
QEMUDriver
now supports API to add port-forwarding from localhost. - The get() method for sdwire has been added.
- If there are multiple named resources for a target, one of them can be named
"default" to select it automatically if no explicit other name is given. - labgrid-client has been extended with --name/-n for most commands. This allows
attaching multiple power sources/usb-muxes and switching them individually
from the command line. - Add DediprogFlashDriver and DediprogFlasher resource.
- Add support for Digital Loggers PDU.
- Add support for Shelly power switches.
- Make labgrid-client use crossbar_url and crossbar_realm from ennvironment
config.
Bug fixes in 23.0
- The exporter now exports sysfsgpios during place acquire/release, fixing a
race in the sysfspgio agent interface. - Fixed a bug where using
labgrid-client io get
always returnedlow
when reading asysfsgpio
. - Fix labgrid-client exit code on keyboard interrupt.
- Fixed
labgrid-client forward --remote
/-R
, which used either the LOCAL
part of--local
/-L
accidentally (if specified) or raised an
UnboundLocalError. - Fix udev matching by attributes.
- Stop Exporter's event loop when register calls fail.
- Fix exit codes for various subcommands.
- Omit role and place output for
labgrid-client reserve
to fix shell
evaluation.
Breaking changes in 23.0
Config
'sget_option()
/get_target_option()
convert non-string
options no longer to strings.UBootDriver
'sboot_expression
attribute is deprecated, it will no
longer check for the string during U-Boot boot. This allows activating the
driver on an already running U-Boot.- The uuu command handling was fixed for the UUUDriver.
UBootDriver
boot() method was fixed.- Fix proxying of dynamic port power backends with URL in host parameter and
authentication credentials. - The coordinator was switched over to anonymous static authentication. You'll
have to use the legacy crossbar configuration to support older
clients/exporters. The 23.1 release will remove support for the legacy ticket
authentication. - AndroidFastboot has been deprecated. Please replace it with the more specific
AndroidUSBFastboot with the same semantics.
Known issues in 23.0
v0.4.1
Bug fixes in 0.4.1
- The exporter now exports sysfsgpios during place acquire/release, fixing a
race in the sysfspgio agent interface. - Fixed a bug where using
labgrid-client io get
always returnedlow
when reading asysfsgpio
. - Fixed
labgrid-client forward --remote
/-R
, which used either the LOCAL
part of--local
/-L
accidentally (if specified) or raised an
UnboundLocalError. - Fix labgrid-client exit code on keyboard interrupt.
v0.4.0
New Features in 0.4.0
- Duplicate bindings for the same driver are now allowed (see the QEMUDriver)
- The
NetworkPowerDriver
now additionally supports:- Siglent SPD3000X series power supplies
- Labgrid client lock now enforces that all matches need to be fulfilled.
- Support for USB HID relays has been added.
- UBootDriver now allows overriding of currently fixed await boot timeout
via newboot_timeout
argument. - With
--lg-colored-steps
, two newdark
andlight
color schemes
which only use the standard 8 ANSI colors can be set inLG_COLOR_SCHEME
.
The existing color schemes have been renamed todark-256color
andlight-256color
.
Also, theColoredStepReporter
now tries to autodetect whether the terminal
supports 8 or 256 colors, and defaults to the respective dark variant.
The 256-color schemes now use purple instead of green for therun
lines to
make them easier distinguishable from pytest's "PASSED" output. - Network controlled relay providing GET/PUT based REST API
- The QEMUDriver gains support for -bios and qcow2 images.
- Support for audio input has been added.
- Usage of sshpass for SSH password input has been replaced with the SSH_ASKPASS
environment variable. - Labgrid supports the Linux Automation GmBH USB Mux now.
- NetworkManager control support on the exporter has been added. This allows
control of bluetooth and wifi connected to the exporter. - TFTP-/NFS-/HTTPProvider has been added, allowing easy staging of files for the
DUT to later retrieve. - Improved LG_PROXY documentation in docs/usage.rst.
- Exporter now checks /usr/sbin/ser2net for SerialPortExport
- Support for Tasmota-flashed power outlets controlled via MQTT has been added.
- The OpenOCDDriver has been reworked with new options and better output.
- A script to synchronize places to an external description was added.
- ShellDriver has regained the support to retrieve the active interface and IP
addresses. - Labgrid has gained support for HTTP Video streams.
- A settle time for the ShellDriver has been added to wait for chatty systems to
settle before interacting with the shell. - Support for Macrosilicon HDMI to USB (MJPEG) adapters was added.
- Console logfiles can now be created by the labgrid client command.
- A ManualSwitchDriver has been added to prompt the user to flip a switch or set
a jumper. - AndroidFastbootDriver now supports booting/flashing images preconfigured in
the environment configuration.
Bug fixes in 0.4.0
pytest --lg-log foobar
now creates the folderfoobar
before trying to
write the log into it, and error handling was improved so that all possible
errors that can occur when opening the log file are reported to stderr.- gstreamer log messages are now suppressed when using labgrid-client video.
- Travis CI has been dropped for Github Actions.
Breaking changes in 0.4.0
EthernetInterface
has been renamed toNetworkInterface
.
Known issues in 0.4.0
- Some client commands return 0 even if the command failed.
- Currently empty passwords are not well supported by the ShellDriver
v0.3.3
- limit twisted version within crossbar-requirements.txt
- the EthernetPort and SerialPort resources now properly raise their exceptions instead of only creating them
- fixed docker cryptography failure during build
- remove ports configuration from docker-compose.yml
- add rsync to docker-client image