1
Fork 0

Improve terse test output.

The current terse output gives 112 chars per line, which causes
wraparound for people using 100 char wide terminals, which is very
common.

This commit changes it to be exactly 100 wide, which makes the output
look much nicer.
This commit is contained in:
Nicholas Nethercote 2022-04-06 11:09:16 +10:00
parent 6a9080b25e
commit b72a7fbcdc

View file

@ -11,8 +11,9 @@ use crate::{
types::TestDesc, types::TestDesc,
}; };
// insert a '\n' after 100 tests in quiet mode // We insert a '\n' when the output hits 100 columns in quiet mode. 88 test
const QUIET_MODE_MAX_COLUMN: usize = 100; // result chars leaves 12 chars for a progress count like " 11704/12853".
const QUIET_MODE_MAX_COLUMN: usize = 88;
pub(crate) struct TerseFormatter<T> { pub(crate) struct TerseFormatter<T> {
out: OutputLocation<T>, out: OutputLocation<T>,
@ -65,7 +66,7 @@ impl<T: Write> TerseFormatter<T> {
) -> io::Result<()> { ) -> io::Result<()> {
self.write_pretty(result, color)?; self.write_pretty(result, color)?;
if self.test_count % QUIET_MODE_MAX_COLUMN == QUIET_MODE_MAX_COLUMN - 1 { if self.test_count % QUIET_MODE_MAX_COLUMN == QUIET_MODE_MAX_COLUMN - 1 {
// we insert a new line every 100 dots in order to flush the // We insert a new line regularly in order to flush the
// screen when dealing with line-buffered output (e.g., piping to // screen when dealing with line-buffered output (e.g., piping to
// `stamp` in the rust CI). // `stamp` in the rust CI).
let out = format!(" {}/{}\n", self.test_count + 1, self.total_test_count); let out = format!(" {}/{}\n", self.test_count + 1, self.total_test_count);