about summary refs log tree commit diff
path: root/src/compiletest/compiletest.rs
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2016-02-25 16:14:05 +0100
committerSimon Sapin <simon.sapin@exyr.org>2016-03-15 17:59:01 +0100
commitbbb45c41df722a79efd7596c012ab6ba9c470b49 (patch)
tree9e44fca0cf629722401a591b3b08425d927d82ed /src/compiletest/compiletest.rs
parentc116ae35cf49b55bd8d82e31f1ba030cf7e63867 (diff)
downloadrust-bbb45c41df722a79efd7596c012ab6ba9c470b49.tar.gz
rust-bbb45c41df722a79efd7596c012ab6ba9c470b49.zip
Shorter output for `rustc --test` binaries.
A program created with `rustc --test` prints at least one line per test.
This can be very verbose, especially with [data-driven tests](
https://internals.rust-lang.org/t/test-and-external-test-harnesses/3145)
when hundreds or thousands of tests is not rare.

This adds a `-q` or `--quiet` option that changes the output
to one character instead of one line per test
(except metrics and benchmarks results which have additional data to
show):

```
     Running target/debug/wpt-75c594dc1e6e6187

running 314 tests
..............................................................................
..............................................................................
..............................................................................
..............................................................................
..
test result: ok. 314 passed; 0 failed; 0 ignored; 0 measured
```

This is a breaking change since the `test::TestOpts` struct
now has one more field.
Diffstat (limited to 'src/compiletest/compiletest.rs')
-rw-r--r--src/compiletest/compiletest.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs
index 99745d840f7..8a7ddbd91ca 100644
--- a/src/compiletest/compiletest.rs
+++ b/src/compiletest/compiletest.rs
@@ -78,6 +78,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
           optopt("", "host-rustcflags", "flags to pass to rustc for host", "FLAGS"),
           optopt("", "target-rustcflags", "flags to pass to rustc for target", "FLAGS"),
           optflag("", "verbose", "run tests verbosely, showing all output"),
+          optflag("", "quiet", "print one character per test instead of one line"),
           optopt("", "logfile", "file to log test execution to", "FILE"),
           optopt("", "target", "the target to build for", "TARGET"),
           optopt("", "host", "the host to build for", "HOST"),
@@ -158,6 +159,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
             !opt_str2(matches.opt_str("adb-test-dir")).is_empty(),
         lldb_python_dir: matches.opt_str("lldb-python-dir"),
         verbose: matches.opt_present("verbose"),
+        quiet: matches.opt_present("quiet"),
     }
 }
 
@@ -191,6 +193,7 @@ pub fn log_config(config: &Config) {
     logv(c, format!("adb_device_status: {}",
                     config.adb_device_status));
     logv(c, format!("verbose: {}", config.verbose));
+    logv(c, format!("quiet: {}", config.quiet));
     logv(c, format!("\n"));
 }
 
@@ -257,6 +260,7 @@ pub fn test_opts(config: &Config) -> test::TestOpts {
             Some(ref filter) => Some(filter.clone()),
         },
         run_ignored: config.run_ignored,
+        quiet: config.quiet,
         logfile: config.logfile.clone(),
         run_tests: true,
         bench_benchmarks: true,