* introduce and Env trait to mock the outside world
* make argument parsing unit-testable
* add get_stderr to FakeEnv
* fakecmd and print errors into the env
* change ExitCode::from to into
Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
* update some comments
* cargo fmt
* document some more of the testing utilities
* use exit_code method on clap errors
* bump minimal clap version
* reexport RealEnv
* remove .lock() calls for stdout and stderr
* remove args field from FakeCmd
* improve docs for Env
* cargo fmt
* use mutex in FakeStream
* improve FmtWriter implementation for a tiny bit more performance
* car go ffffffmmmmmmtttttt
---------
Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>