diff options
| author | Emanuel Czirai <res.pe.cing+commits@gmail.com> | 2016-03-28 14:41:55 +0200 |
|---|---|---|
| committer | Emanuel Czirai <res.pe.cing+commits@gmail.com> | 2016-03-31 23:02:59 +0200 |
| commit | e1d2eda7f3ed8999853c8b4424e7a81a88f97d2a (patch) | |
| tree | 42724043aea3bbb74ef6ff20be3544fa1506eb71 /src/libtest | |
| parent | 3399d19a2c9503d991e4a315118b2d6146f66046 (diff) | |
| download | rust-e1d2eda7f3ed8999853c8b4424e7a81a88f97d2a.tar.gz rust-e1d2eda7f3ed8999853c8b4424e7a81a88f97d2a.zip | |
allow RUST_BACKTRACE=0 to act as if unset
/# This is a combination of 16 commits. /# The first commit's message is: allow RUST_BACKTRACE=disabled to act as if unset When RUST_BACKTRACE is set to "disabled" then this acts as if the env. var is unset. /# This is the 2nd commit message: case insensitive "DiSaBLeD" RUST_BACKTRACE value previously it expected a lowercase "disabled" to treat the env. var as unset /# This is the 3rd commit message: RUST_BACKTRACE=0 acts as if unset previously RUST_BACKTRACE=disabled was doing the same thing /# This is the 4th commit message: RUST_BACKTRACE=0|n|no|off acts as if unset previously only RUST_BACKTRACE=0 acted as if RUST_BACKTRACE was unset Now added more options (case-insensitive): 'n','no' and 'off' eg. RUST_BACKTRACE=oFF /# This is the 5th commit message: DRY on the value of 2 DRY=don't repeat yourself Because having to remember to keep the two places of '2' in sync is not ideal, even though this is a simple enough case. /# This is the 6th commit message: Revert "DRY on the value of 2" This reverts commit 95a0479d5cf72a2b2d9d21ec0bed2823ed213fef. Nevermind this DRY on 2, because we already have a RY on 1, besides the code is less readable this way... /# This is the 7th commit message: attempt to document unsetting RUST_BACKTRACE /# This is the 8th commit message: curb allocations when checking for RUST_BACKTRACE this means we don't check for case-insensitivity anymore /# This is the 9th commit message: as decided, RUST_BACKTRACE=0 turns off backtrace /# This is the 10th commit message: RUST_TEST_NOCAPTURE=0 acts as if unset (that is, capture is on) Any other value acts as if nocapture is enabled (that is, capture is off) /# This is the 11th commit message: update other RUST_TEST_NOCAPTURE occurrences apparently only one place needs updating /# This is the 12th commit message: update RUST_BACKTRACE in man page /# This is the 13th commit message: handle an occurrence of RUST_BACKTRACE /# This is the 14th commit message: ensure consistency with new rules for backtrace /# This is the 15th commit message: a more concise comment for RUST_TEST_NOCAPTURE /# This is the 16th commit message: update RUST_TEST_NOCAPTURE in man page
Diffstat (limited to 'src/libtest')
| -rw-r--r-- | src/libtest/lib.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index e4d7697a71b..e7fe128a7ae 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -349,8 +349,8 @@ By default, all tests are run in parallel. This can be altered with the RUST_TEST_THREADS environment variable when running tests (set it to 1). All tests have their standard output and standard error captured by default. -This can be overridden with the --nocapture flag or the RUST_TEST_NOCAPTURE=1 -environment variable. Logging is not captured by default. +This can be overridden with the --nocapture flag or setting RUST_TEST_NOCAPTURE +environment variable to a value other than "0". Logging is not captured by default. Test Attributes: @@ -399,7 +399,10 @@ pub fn parse_opts(args: &[String]) -> Option<OptRes> { let mut nocapture = matches.opt_present("nocapture"); if !nocapture { - nocapture = env::var("RUST_TEST_NOCAPTURE").is_ok(); + nocapture = match env::var("RUST_TEST_NOCAPTURE") { + Ok(val) => &val != "0", + Err(_) => false + }; } let color = match matches.opt_str("color").as_ref().map(|s| &**s) { |
