Skip to content

Commit 83538a2

Browse files
committed
collect logs
1 parent 0702578 commit 83538a2

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

.github/workflows/rust.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
with:
9999
path: /tmp/logs
100100
name: tests-trace
101-
101+
102102
nightly-checks:
103103
runs-on: ubuntu-latest
104104
steps:

minion-tests/src/master.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ fn execute_single_test(case: &dyn TestCase, exec_opts: ExecuteOptions) -> Outcom
7474
println!("------ {} ------", case.name());
7575
let self_exe = std::env::current_exe().unwrap();
7676
let tmp = tempfile::tempdir().unwrap();
77+
let mut temp_logs_dir = None;
7778
let mut cmd = if exec_opts.trace {
7879
if cfg!(target_os = "linux") {
7980
let mut cmd = std::process::Command::new("strace");
@@ -83,21 +84,23 @@ fn execute_single_test(case: &dyn TestCase, exec_opts: ExecuteOptions) -> Outcom
8384
cmd
8485
} else if cfg!(target_os = "windows") {
8586
let mut cmd = std::process::Command::new(
86-
"C:\\Program Files (x86)\\Windows Kits\\10\\Debuggers\\x64\\cdb.exe"
87+
"C:\\Program Files (x86)\\Windows Kits\\10\\Debuggers\\x64\\cdb.exe",
8788
);
8889
// disable debug heap
8990
cmd.arg("-hd");
9091
// follow children
9192
cmd.arg("-o");
9293

93-
let script_file_path = tmp.path().join("script.txt");
94-
94+
let script_file_path = tmp.path().join("cdb-script.txt");
95+
let logs_path = tmp.path().join(format!("{}-ntapi-logs", case.name()));
9596
std::fs::write(
9697
&script_file_path,
9798
[
98-
"!logexts.loge",
99+
&format!("!logexts.loge {}", logs_path.display()),
99100
"!logexts.logc e *",
100101
"!logexts.logo e d",
102+
"!logexts.logo e t",
103+
"!logexts.logo e v",
101104
"g",
102105
"!logexts.logb p",
103106
"q",
@@ -106,6 +109,8 @@ fn execute_single_test(case: &dyn TestCase, exec_opts: ExecuteOptions) -> Outcom
106109
)
107110
.unwrap();
108111

112+
temp_logs_dir.replace(logs_path);
113+
109114
cmd.arg("-cf").arg(&script_file_path);
110115

111116
cmd.arg(self_exe);
@@ -126,6 +131,9 @@ fn execute_single_test(case: &dyn TestCase, exec_opts: ExecuteOptions) -> Outcom
126131
cmd.env(crate::WORKER_ENV_NAME, "1");
127132
cmd.env("TEST", case.name());
128133
let status = cmd.status().unwrap();
134+
if let Some(p) = temp_logs_dir {
135+
std::fs::rename(p, format!("./strace-{}", case.name())).unwrap();
136+
}
129137
if status.success() {
130138
Outcome::Success
131139
} else {

0 commit comments

Comments
 (0)