Skip to content

Commit 08049b1

Browse files
committed
feat: Add the capability of cargo xtask eval
1 parent 4823be1 commit 08049b1

5 files changed

Lines changed: 10 additions & 33 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ cargo xtask eval --course learning-lm-rs --path exercises/learning-lm-rs
5252
# 评测 rustlings 课程
5353
cargo xtask eval --course rustlings --path exercises/rustlings
5454

55-
# 带详细输出的评测(适用于任意课程)
56-
cargo xtask eval --course <课程名> --verbose
55+
# 评测 learning-cxx 课程
56+
cargo xtask eval --course learning-cxx
5757

5858
```
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,6 @@
141141
"total_exercations": 34,
142142
"total_succeeds": 1,
143143
"total_failures": 33,
144-
"total_time": 30
144+
"total_time": 61
145145
}
146146
}

learning-lm-rs_result.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

xtask/src/eval.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -294,10 +294,10 @@ impl EvalArgs {
294294

295295
println!("{} {}", "\n评测课程:".blue().bold(), course_name);
296296

297-
let (results, succeeds, failures, exercations) = if course_name == "learning-lm-rs" {
298-
self.eval_learning_lm(&path)?
299-
} else {
300-
self.eval_rustlings(&path)?
297+
let (results, succeeds, failures, exercations) = match course_name {
298+
"learning-lm-rs" => self.eval_learning_lm(&path)?,
299+
"learning-cxx" => self.eval_learning_cxx(&path)?,
300+
_ => self.eval_rustlings(&path)?
301301
};
302302

303303
exercise_results.extend(results);
@@ -344,13 +344,8 @@ impl EvalArgs {
344344
},
345345
};
346346

347-
// 确定结果文件名
348-
let result_filename = if let Some(course) = &self.course {
349-
format!("{}_result.json", course)
350-
} else {
351-
"eval_result.json".to_string()
352-
};
353-
347+
// 使用固定的结果文件名
348+
let result_filename = "eval_result.json";
354349
let json_result = serde_json::to_string_pretty(&result)?;
355350
fs::write(&result_filename, json_result)?;
356351
println!("");

xtask/src/learn.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use anyhow::{Context, Result};
1+
use anyhow::{Context, Result};
22
use clap::Args;
33
use colored::*;
44
use std::fs;

0 commit comments

Comments
 (0)