scons: Use the textwrap module to wrap warnings/errors neatly.
authorGabe Black <gabe.black@gmail.com>
Thu, 26 Mar 2020 11:04:42 +0000 (04:04 -0700)
committerGabe Black <gabeblack@google.com>
Fri, 27 Mar 2020 08:44:28 +0000 (08:44 +0000)
commit47579e693b43690fff5da8ec47c862f6c41cedf6
treec928e08f6d93dbb45da03af90d890d0601ff284a
parentec236a55eeef31435df999fc790f5c501aa657c6
scons: Use the textwrap module to wrap warnings/errors neatly.

Otherwise the error and warning messages get chopped off and wrapped by
the terminal wherever they happened to end. That's ugly and hard to
read.

This mechanism attempts to wrap the text using the console width which
it attempts to determine in two ways, first with shutil which should
work in python 3.3 and above, and then with the curses python module. If
neither of those works, it just falls back to 80 columns which is not
ideal but is reasonable.

Change-Id: I961936295505f93f5f36eb6d9cebc5073b5f793b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27128
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
site_scons/gem5_scons/__init__.py