[lit] Improve readability of failing scripts.
- This only applies to scripts executed by the _internal_ shell script interpreter.
- This patch reworks the log to look more like a shell transcript, and be less verbose (but in the interest of calling attention to the important parts).
Here is an example of the new format, for commands with/without failures and
with/without output:
$ true $ echo hi hi $ false note: command had no output on stdout or stderr error: command failed with exit status 1
[lit] Improve logging with file redirection.
- This will cause lit to automatically include the first 1K of data in redirected output files when a command fails (previously if the command failed, but the main point of the test was, say, a FileCheck later on, then the log wasn't helpful in showing why the command failed).
Default parameters are mutable in python. The default should either be None or outputFiles needs to be copied on initialization.