about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2018-08-16 15:19:50 +0200
committerRalf Jung <post@ralfj.de>2018-08-16 15:19:50 +0200
commit67b7b2aa11bf32359756c75da721f1ad26f49403 (patch)
tree5e92eaf7222c8b59f250ce0ee409ed04f9ccfffe /src
parent142bb27373126edf8367f526358b6c72ecf1d8df (diff)
libtest terse format: show how far in we are
Diffstat (limited to 'src')
-rw-r--r--src/libtest/formatters/terse.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libtest/formatters/terse.rs b/src/libtest/formatters/terse.rs
index 22a06b9f605..5b6b8ead4ef 100644
--- a/src/libtest/formatters/terse.rs
+++ b/src/libtest/formatters/terse.rs
@@ -18,6 +18,7 @@ pub(crate) struct TerseFormatter<T> {
     max_name_len: usize,
 
     test_count: usize,
+    total_test_count: usize,
 }
 
 impl<T: Write> TerseFormatter<T> {
@@ -33,6 +34,7 @@ impl<T: Write> TerseFormatter<T> {
             max_name_len,
             is_multithreaded,
             test_count: 0,
+            total_test_count: 0,
         }
     }
 
@@ -66,7 +68,8 @@ impl<T: Write> TerseFormatter<T> {
             // we insert a new line every 100 dots in order to flush the
             // screen when dealing with line-buffered output (e.g. piping to
             // `stamp` in the rust CI).
-            self.write_plain("\n")?;
+            let out = format!(" {}/{}\n", self.test_count+1, self.total_test_count);
+            self.write_plain(&out)?;
         }
 
         self.test_count += 1;
@@ -160,6 +163,7 @@ impl<T: Write> TerseFormatter<T> {
 
 impl<T: Write> OutputFormatter for TerseFormatter<T> {
     fn write_run_start(&mut self, test_count: usize) -> io::Result<()> {
+        self.total_test_count = test_count;
         let noun = if test_count != 1 { "tests" } else { "test" };
         self.write_plain(&format!("\nrunning {} {}\n", test_count, noun))
     }