Version 0.8.1 == Added == - Added `LinuxShell.glob()` method for easily using shell globs. - Added parameters to `LinuxShell.subshell()` which can be used to spawn custom subshells. - Added `linux.RedirBoth` to redirect both stdout and stderr to the same file. - Added `UBootShell.ram_base` property to learn the RAM base address in testcases. - Added a write blacklist to channels. This feature can be used to disallow tests sending certain control characters. - Added a `do_build()` step to `UBootBuilder` which can be used to customize the command used for building U-Boot. - Empty `tbot_contrib` module for the future :) == Changed == - Made `SSHConnector` based machine cloneable (if the underlying host is cloneable). - Made `tbot.testcase` also work as a context-manager. This can be used to define 'sub-tests' in a function. Example: ```python with tbot.testcase("my_sub_testcase"): ... ``` == Fixed == - Fixed U-Boot and board-Linux not saving the bootlog to the log-event. - Fixed tbot happily printing special characters as part of a command which was sent (in the log). - Fixed selftests failing in some rare circumstances because a subprocess is not properly terminated or when bash is slow. - Removed use of the deprecated `time.clock()` function. - Properly check stdout encoding. - Fixed `read_iter` sometimes passing negative timeout values to the underlying channel IO. - Fixed tbot hanging on zero-byte `Channel.send()` call. - Fixed `lnx.env()` behaving incorrectly when an environment variable has a value which looks like an `echo`-option. - Fixed a bug caused by passing `"\n^"` as a parameter (bash interprets this as a kind of history expansion). - Fixed `UBootShell` not properly escaping `\` and `'`. - Fixed `ub.env()` failing on environment variables with weird values.