Version 0.8.2 == Added == - Added `LinuxShell.run()` to run a command and interact with its stdio. - `Path.write_text()`, `Path.read_text()`, `Path.write_bytes()`, and `Path.read_bytes()`: Methods to easily manipulate remote files. - Added integration for U-Boot's test/py test-framework. See the ``uboot_testpy`` testcase fore more. - A connector for connection to a [conserver](https://www.conserver.com/) based serial console: `tbot_contrib.connector.conserver` - Testcases for timing the duration of an operation (`tbot_contrib.timing`). - A testcase to deploy an `swu`-file to [SWUpdate](https://github.com/sbabic/swupdate) (`tbot_contrib.swupdate`). - Machines now implement `==` and `hash()`. A machine which was cloned from another machine has the same hash, i.e. they can be treated as equal. - Added a U-Boot smoke-test: `tbot.tc.uboot.smoke_test()` or `uboot_smoke_test` - Added a `DistroToolchain` class to easily allow using pre-installed toolchains with tbot. - Added a Workdir which lives in ``$XDG_DATA_HOME`` and one living in ``$XDG_RUNTIME_DIR`` (``Workdir.xdg_home()`` and ``Workdir.xdg_runtime()``). - You can now specify the U-Boot revision to checkout: ``tbot uboot_checkout -prev=\"v2020.01\"`` - A ``boot_timeout`` parameter was added to U-Boot machines to limit the maximum time, U-Boot is allowed to take during boot. - Testcases for interacting with GPIOs (`tbot_contrib.gpio`). - ``tbot.Re``: A convenience wrapper around ``re.compile``. Whereever regex-patterns are needed (e.g. in channel-interaction), you can now use `tbot.Re` instead of `re.compile("...".encode())`. - A `Channel.readline()` and a `Channel.expect()` method to mimic pexpect. == Changed == - The default workdir for Linux shells is no longer `/tmp/tbot-wd`. It is now `$XDG_DATA_HOME/tbot` (usually `~/.local/share/tbot`). - `UBootBuilder` now points to the new U-Boot upstream (<https://gitlab.denx.de/u-boot/u-boot.git>) by default. - Fixed `linux.Bash`'s `.env()` implementation unnecessarily querying the variable after setting it. - ``selftest`` now uses a dedicated machine class which does not clobber the default workdir and instead stores data in a temporary directory. == Fixed == - Fixed tbot sometimes not displaying a message before entering interactive mode, thus leaving the user clueless what escape-sequence to use to exit. - Fixed `linux.Bash`, `linux.Ash`, and `board.UBootShell` allowing some bad characters in command invocations which would mess up the shell's state. - Fixed `tbot.flags` only being set _after_ loading the testcases which could lead to weird inconsistency errors. - Fixed ``Channel.sendcontrol()`` not actually allowing all C0 control characters.