mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 13:03:31 +00:00
Don't fail tests when updating snapshot
This commit is contained in:
parent
686e115e73
commit
977b688144
1 changed files with 9 additions and 8 deletions
|
@ -2,7 +2,7 @@
|
||||||
//! https://github.com/rust-analyzer/rust-analyzer/pull/5101
|
//! https://github.com/rust-analyzer/rust-analyzer/pull/5101
|
||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
env, fmt, fs,
|
env, fmt, fs, mem,
|
||||||
ops::Range,
|
ops::Range,
|
||||||
panic,
|
panic,
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
|
@ -97,24 +97,25 @@ static RT: Lazy<Mutex<Runtime>> = Lazy::new(Default::default);
|
||||||
impl Runtime {
|
impl Runtime {
|
||||||
fn fail(expect: &Expect, expected: &str, actual: &str) {
|
fn fail(expect: &Expect, expected: &str, actual: &str) {
|
||||||
let mut rt = RT.lock().unwrap_or_else(|poisoned| poisoned.into_inner());
|
let mut rt = RT.lock().unwrap_or_else(|poisoned| poisoned.into_inner());
|
||||||
let mut updated = "";
|
|
||||||
if update_expect() {
|
if update_expect() {
|
||||||
updated = " (updated)";
|
println!(
|
||||||
|
"\x1b[1m\x1b[92mupdating\x1b[0m: {}:{}:{}",
|
||||||
|
expect.file, expect.line, expect.column
|
||||||
|
);
|
||||||
rt.per_file
|
rt.per_file
|
||||||
.entry(expect.file)
|
.entry(expect.file)
|
||||||
.or_insert_with(|| FileRuntime::new(expect))
|
.or_insert_with(|| FileRuntime::new(expect))
|
||||||
.update(expect, actual);
|
.update(expect, actual);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
let print_help = !rt.help_printed && !update_expect();
|
let print_help = !mem::replace(&mut rt.help_printed, true);
|
||||||
rt.help_printed = true;
|
|
||||||
|
|
||||||
let help = if print_help { HELP } else { "" };
|
let help = if print_help { HELP } else { "" };
|
||||||
|
|
||||||
let diff = Changeset::new(actual, expected, "\n");
|
let diff = Changeset::new(actual, expected, "\n");
|
||||||
|
|
||||||
println!(
|
println!(
|
||||||
"\n
|
"\n
|
||||||
\x1b[1m\x1b[91merror\x1b[97m: expect test failed\x1b[0m{}
|
\x1b[1m\x1b[91merror\x1b[97m: expect test failed\x1b[0m
|
||||||
\x1b[1m\x1b[34m-->\x1b[0m {}:{}:{}
|
\x1b[1m\x1b[34m-->\x1b[0m {}:{}:{}
|
||||||
{}
|
{}
|
||||||
\x1b[1mExpect\x1b[0m:
|
\x1b[1mExpect\x1b[0m:
|
||||||
|
@ -132,7 +133,7 @@ impl Runtime {
|
||||||
{}
|
{}
|
||||||
----
|
----
|
||||||
",
|
",
|
||||||
updated, expect.file, expect.line, expect.column, help, expected, actual, diff
|
expect.file, expect.line, expect.column, help, expected, actual, diff
|
||||||
);
|
);
|
||||||
// Use resume_unwind instead of panic!() to prevent a backtrace, which is unnecessary noise.
|
// Use resume_unwind instead of panic!() to prevent a backtrace, which is unnecessary noise.
|
||||||
panic::resume_unwind(Box::new(()));
|
panic::resume_unwind(Box::new(()));
|
||||||
|
|
Loading…
Reference in a new issue