-
Notifications
You must be signed in to change notification settings - Fork 45
/
cleanup.rs
executable file
·57 lines (54 loc) · 1.71 KB
/
cleanup.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env rust-script
//! Cleans up all files and folders that were produced by test runs.
//!
//! ```cargo
//! [dependencies]
//! glob = "*"
//! ```
extern crate glob;
fn main() {
for pattern in &[
"./*.alerts",
"./*.log",
"./*.seclog",
"./*logspec.toml",
"./log_files/**/.DS_Store",
"./log_files/**/test_restart_with_no_suffix-*",
"./log_files/**/*.alerts",
"./log_files/**/*.csv",
"./log_files/**/*.err",
"./log_files/**/*.gz",
"./log_files/**/*.log",
"./log_files/**/*.seclog",
"./log_files/**/*.toml",
"./server/**/*.toml",
] {
for globresult in glob::glob(pattern).unwrap() {
match globresult {
Err(e) => eprintln!("Evaluating pattern {:?} produced error {}", pattern, e),
Ok(pathbuf) => {
std::fs::remove_file(&pathbuf).unwrap();
}
}
}
}
for dir_pattern in ["./log_files/**", "./server/**"] {
let dirs: Vec<std::path::PathBuf> = glob::glob(dir_pattern)
.unwrap()
.filter_map(|r| match r {
Err(e) => {
eprintln!("Searching for folders produced error {}", e);
None
}
Ok(_) => Some(r.unwrap()),
})
.collect();
for pathbuf in dirs.iter().rev() {
std::fs::remove_dir(&pathbuf).expect(&format!("folder not empty? {:?}", pathbuf));
}
}
std::fs::remove_dir("./log_files/").ok();
std::fs::remove_dir("./server/").ok();
std::fs::remove_file("./link_to_log").ok();
std::fs::remove_file("./link_to_mt_log").ok();
}