Skip to content

Commit 82a7bdf

Browse files
committed
cargo fmt
1 parent 93be5f7 commit 82a7bdf

File tree

2 files changed

+78
-50
lines changed

2 files changed

+78
-50
lines changed

cargo-nextest/src/dispatch.rs

Lines changed: 52 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ use std::{
5454
env::VarError,
5555
fmt,
5656
io::{Cursor, Write},
57-
sync::{Arc, OnceLock, Mutex},
57+
sync::{Arc, Mutex, OnceLock},
5858
};
5959
use swrite::{SWrite, swrite};
6060
use tracing::{Level, debug, info, warn};
@@ -660,7 +660,12 @@ impl TestBuildFilter {
660660
.map_err(|err| ExpectedError::CreateTestListError { err })
661661
}
662662

663-
fn make_test_filter_builder(&self, filter_exprs: Vec<Filterset>, profile_name: &str, profile: &EarlyProfile<'_>) -> Result<TestFilterBuilder> {
663+
fn make_test_filter_builder(
664+
&self,
665+
filter_exprs: Vec<Filterset>,
666+
profile_name: &str,
667+
profile: &EarlyProfile<'_>,
668+
) -> Result<TestFilterBuilder> {
664669
// Merge the test binary args into the patterns.
665670
let mut run_ignored = self.run_ignored.map(Into::into);
666671
let mut patterns = TestFilterPatterns::new(self.pre_double_dash_filters.clone());
@@ -669,22 +674,30 @@ impl TestBuildFilter {
669674
// Handle --last-failed and --failed-last options
670675
if self.last_failed || self.failed_last {
671676
use nextest_runner::reporter::last_failed::FailedTestStore;
672-
677+
673678
let store = FailedTestStore::new(profile.store_dir(), profile_name);
674679
match store.load() {
675680
Ok(Some(snapshot)) => {
676681
if snapshot.failed_tests.is_empty() {
677-
eprintln!("No failed tests found from previous run for profile '{}'", profile_name);
682+
eprintln!(
683+
"No failed tests found from previous run for profile '{}'",
684+
profile_name
685+
);
678686
if self.last_failed {
679687
// For --last-failed with no failed tests, we should run no tests
680688
// Create a pattern that matches nothing
681689
patterns = TestFilterPatterns::default();
682-
patterns.add_exact_pattern("__nextest_internal_no_tests_to_run__".to_string());
690+
patterns.add_exact_pattern(
691+
"__nextest_internal_no_tests_to_run__".to_string(),
692+
);
683693
}
684694
// For --failed-last, we continue with the normal filtering
685695
} else {
686-
eprintln!("Found {} failed test(s) from previous run", snapshot.failed_tests.len());
687-
696+
eprintln!(
697+
"Found {} failed test(s) from previous run",
698+
snapshot.failed_tests.len()
699+
);
700+
688701
if self.last_failed {
689702
// Only run failed tests - replace all patterns
690703
patterns = TestFilterPatterns::default();
@@ -705,7 +718,8 @@ impl TestBuildFilter {
705718
if self.last_failed {
706719
// For --last-failed with no history, run no tests
707720
patterns = TestFilterPatterns::default();
708-
patterns.add_exact_pattern("__nextest_internal_no_tests_to_run__".to_string());
721+
patterns
722+
.add_exact_pattern("__nextest_internal_no_tests_to_run__".to_string());
709723
}
710724
}
711725
Err(err) => {
@@ -1718,7 +1732,9 @@ impl App {
17181732
}
17191733
});
17201734
let filter_exprs = self.build_filtering_expressions(&pcx)?;
1721-
let test_filter_builder = self.build_filter.make_test_filter_builder(filter_exprs, profile_name, &profile)?;
1735+
let test_filter_builder =
1736+
self.build_filter
1737+
.make_test_filter_builder(filter_exprs, profile_name, &profile)?;
17221738

17231739
let binary_list = self.base.build_binary_list()?;
17241740

@@ -1796,7 +1812,9 @@ impl App {
17961812
let settings = ShowTestGroupSettings { mode, show_default };
17971813

17981814
let filter_exprs = self.build_filtering_expressions(&pcx)?;
1799-
let test_filter_builder = self.build_filter.make_test_filter_builder(filter_exprs, profile_name, &profile)?;
1815+
let test_filter_builder =
1816+
self.build_filter
1817+
.make_test_filter_builder(filter_exprs, profile_name, &profile)?;
18001818

18011819
let binary_list = self.base.build_binary_list()?;
18021820
let build_platforms = binary_list.rust_build_meta.build_platforms.clone();
@@ -1913,7 +1931,9 @@ impl App {
19131931
reporter_builder.set_verbose(self.base.output.verbose);
19141932

19151933
let filter_exprs = self.build_filtering_expressions(&pcx)?;
1916-
let test_filter_builder = self.build_filter.make_test_filter_builder(filter_exprs, profile_name, &profile)?;
1934+
let test_filter_builder =
1935+
self.build_filter
1936+
.make_test_filter_builder(filter_exprs, profile_name, &profile)?;
19171937

19181938
let binary_list = self.base.build_binary_list()?;
19191939
let build_platforms = &binary_list.rust_build_meta.build_platforms.clone();
@@ -1965,44 +1985,51 @@ impl App {
19651985
);
19661986

19671987
configure_handle_inheritance(no_capture)?;
1968-
1988+
19691989
// Track failed tests during the run
1970-
use nextest_runner::reporter::last_failed::{FailedTest, FailedTestStore, FailedTestsSnapshot};
1990+
use nextest_runner::reporter::last_failed::{
1991+
FailedTest, FailedTestStore, FailedTestsSnapshot,
1992+
};
19711993
let failed_tests = Arc::new(Mutex::new(Vec::<FailedTest>::new()));
19721994
let failed_tests_for_callback = Arc::clone(&failed_tests);
1973-
1995+
19741996
let run_stats = runner.try_execute(|event| {
19751997
// Track failed tests for persistence
1976-
if let TestEventKind::TestFinished { test_instance, run_statuses, .. } = &event.kind {
1998+
if let TestEventKind::TestFinished {
1999+
test_instance,
2000+
run_statuses,
2001+
..
2002+
} = &event.kind
2003+
{
19772004
if !run_statuses.last_status().result.is_success() {
19782005
let mut failed = failed_tests_for_callback.lock().unwrap();
19792006
failed.push(FailedTest::from_test_instance_id(test_instance.id()));
19802007
}
19812008
}
1982-
2009+
19832010
// Write and flush the event.
19842011
reporter.report_event(event)
19852012
})?;
19862013
reporter.finish();
1987-
2014+
19882015
// After the run completes, persist failed tests if we're not in no-run mode
19892016
if !runner_opts.no_run {
19902017
let store = FailedTestStore::new(profile.store_dir(), profile_name);
1991-
2018+
19922019
let failed = failed_tests.lock().unwrap();
19932020
let snapshot = FailedTestsSnapshot {
19942021
version: 1,
19952022
created_at: chrono::Utc::now(),
19962023
profile_name: profile_name.to_owned(),
19972024
failed_tests: failed.iter().cloned().collect(),
19982025
};
1999-
2026+
20002027
if let Err(err) = store.save(&snapshot) {
20012028
eprintln!("Warning: Failed to save failed test history: {}", err);
20022029
// Don't fail the entire test run if we can't save the history
20032030
}
20042031
}
2005-
2032+
20062033
self.base
20072034
.check_version_config_final(version_only_config.nextest_version())?;
20082035

@@ -2864,9 +2891,11 @@ mod tests {
28642891
.unwrap_or_else(|_| panic!("{cmd} should have successfully parsed"));
28652892
// For tests, skip the failed test loading functionality
28662893
let mut run_ignored = app.build_filter.run_ignored.map(Into::into);
2867-
let mut patterns = TestFilterPatterns::new(app.build_filter.pre_double_dash_filters.clone());
2868-
app.build_filter.merge_test_binary_args(&mut run_ignored, &mut patterns)?;
2869-
2894+
let mut patterns =
2895+
TestFilterPatterns::new(app.build_filter.pre_double_dash_filters.clone());
2896+
app.build_filter
2897+
.merge_test_binary_args(&mut run_ignored, &mut patterns)?;
2898+
28702899
Ok(TestFilterBuilder::new(
28712900
run_ignored.unwrap_or_default(),
28722901
app.build_filter.partition.clone(),

nextest-runner/src/reporter/last_failed.rs

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ use std::fs;
1616
pub struct FailedTestsSnapshot {
1717
/// Version of the snapshot format.
1818
pub version: u32,
19-
19+
2020
/// When this snapshot was created.
2121
pub created_at: DateTime<Utc>,
22-
22+
2323
/// The profile that was used for this test run.
2424
pub profile_name: String,
25-
25+
2626
/// Set of failed tests.
2727
pub failed_tests: BTreeSet<FailedTest>,
2828
}
@@ -32,7 +32,7 @@ pub struct FailedTestsSnapshot {
3232
pub struct FailedTest {
3333
/// The binary ID.
3434
pub binary_id: RustBinaryId,
35-
35+
3636
/// The test name.
3737
pub test_name: String,
3838
}
@@ -56,31 +56,31 @@ pub struct FailedTestStore {
5656
impl FailedTestStore {
5757
/// Current version of the snapshot format.
5858
const CURRENT_VERSION: u32 = 1;
59-
59+
6060
/// Creates a new failed test store with the given path.
6161
pub fn new(store_dir: &Utf8Path, profile_name: &str) -> Self {
6262
let path = store_dir.join(format!("{profile_name}-last-failed.json"));
6363
Self { path }
6464
}
65-
65+
6666
/// Loads the failed test snapshot from disk.
6767
pub fn load(&self) -> Result<Option<FailedTestsSnapshot>, LoadError> {
6868
match fs::read_to_string(&self.path) {
6969
Ok(contents) => {
70-
let snapshot: FailedTestsSnapshot = serde_json::from_str(&contents)
71-
.map_err(|err| LoadError::DeserializeError {
70+
let snapshot: FailedTestsSnapshot =
71+
serde_json::from_str(&contents).map_err(|err| LoadError::DeserializeError {
7272
path: self.path.clone(),
7373
error: err,
7474
})?;
75-
75+
7676
if snapshot.version != Self::CURRENT_VERSION {
7777
return Err(LoadError::VersionMismatch {
7878
path: self.path.clone(),
7979
expected: Self::CURRENT_VERSION,
8080
actual: snapshot.version,
8181
});
8282
}
83-
83+
8484
Ok(Some(snapshot))
8585
}
8686
Err(err) if err.kind() == std::io::ErrorKind::NotFound => Ok(None),
@@ -90,7 +90,7 @@ impl FailedTestStore {
9090
}),
9191
}
9292
}
93-
93+
9494
/// Saves the failed test snapshot to disk.
9595
pub fn save(&self, snapshot: &FailedTestsSnapshot) -> Result<(), SaveError> {
9696
// Ensure the parent directory exists
@@ -100,18 +100,18 @@ impl FailedTestStore {
100100
error: err,
101101
})?;
102102
}
103-
103+
104104
let contents = serde_json::to_string_pretty(snapshot)
105105
.map_err(|err| SaveError::SerializeError { error: err })?;
106-
106+
107107
fs::write(&self.path, contents).map_err(|err| SaveError::WriteError {
108108
path: self.path.clone(),
109109
error: err,
110110
})?;
111-
111+
112112
Ok(())
113113
}
114-
114+
115115
/// Clears the failed test snapshot by removing the file.
116116
pub fn clear(&self) -> Result<(), ClearError> {
117117
match fs::remove_file(&self.path) {
@@ -137,7 +137,7 @@ pub enum LoadError {
137137
#[source]
138138
error: std::io::Error,
139139
},
140-
140+
141141
/// Error deserializing the snapshot.
142142
#[error("failed to deserialize snapshot at {path}")]
143143
DeserializeError {
@@ -147,7 +147,7 @@ pub enum LoadError {
147147
#[source]
148148
error: serde_json::Error,
149149
},
150-
150+
151151
/// Version mismatch in the snapshot file.
152152
#[error("snapshot version mismatch at {path}: expected {expected}, got {actual}")]
153153
VersionMismatch {
@@ -172,15 +172,15 @@ pub enum SaveError {
172172
#[source]
173173
error: std::io::Error,
174174
},
175-
175+
176176
/// Error serializing the snapshot.
177177
#[error("failed to serialize snapshot")]
178178
SerializeError {
179179
/// The underlying serialization error.
180180
#[source]
181181
error: serde_json::Error,
182182
},
183-
183+
184184
/// Error writing the snapshot to disk.
185185
#[error("failed to write snapshot to {path}")]
186186
WriteError {
@@ -206,20 +206,19 @@ pub enum ClearError {
206206
},
207207
}
208208

209-
210209
#[cfg(test)]
211210
mod tests {
212211
use super::*;
213212
use camino_tempfile::Utf8TempDir;
214-
213+
215214
#[test]
216215
fn test_store_lifecycle() {
217216
let temp_dir = Utf8TempDir::new().unwrap();
218217
let store = FailedTestStore::new(temp_dir.path(), "default");
219-
218+
220219
// Initially, there should be no snapshot
221220
assert!(store.load().unwrap().is_none());
222-
221+
223222
// Create and save a snapshot
224223
let snapshot = FailedTestsSnapshot {
225224
version: FailedTestStore::CURRENT_VERSION,
@@ -236,17 +235,17 @@ mod tests {
236235
},
237236
]),
238237
};
239-
238+
240239
store.save(&snapshot).unwrap();
241-
240+
242241
// Load and verify
243242
let loaded = store.load().unwrap().unwrap();
244243
assert_eq!(loaded.version, snapshot.version);
245244
assert_eq!(loaded.profile_name, snapshot.profile_name);
246245
assert_eq!(loaded.failed_tests, snapshot.failed_tests);
247-
246+
248247
// Clear and verify
249248
store.clear().unwrap();
250249
assert!(store.load().unwrap().is_none());
251250
}
252-
}
251+
}

0 commit comments

Comments
 (0)