Skip to content

Commit 3853362

Browse files
zulinx86roypat
authored andcommitted
fix(cpu-template-helper): Handle a new line correctly to display error
`displaydoc::Display` doesn't recognize `\n` as a new line in doc string: ``` Difference detected between source and target: \n{ "name": "kernel_version", "prev": "5.10.215-203.850.amzn2.x86_64", "curr": "6.1.84-99.169.amzn2023.x86_64" } ``` Also, it doesn't support multi-line string unless we use `/** */` style doc, however the doc style is denied by our format check. Signed-off-by: Takahiro Itazuri <[email protected]>
1 parent f8d092c commit 3853362

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/cpu-template-helper/src/fingerprint/compare.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use crate::fingerprint::{Fingerprint, FingerprintField};
77

88
#[derive(Debug, thiserror::Error, displaydoc::Display)]
99
pub enum FingerprintCompareError {
10-
/// Difference detected between source and target:\n{0}
10+
/// Difference detected between source and target: {0}
1111
DiffDetected(String),
1212
/// Failed to serialize/deserialize JSON: {0}
1313
Serde(#[from] serde_json::Error),
@@ -85,7 +85,10 @@ pub fn compare(
8585
if results.is_empty() {
8686
Ok(())
8787
} else {
88-
Err(FingerprintCompareError::DiffDetected(results.join("\n")))
88+
Err(FingerprintCompareError::DiffDetected(format!(
89+
"\n{}",
90+
results.join("\n")
91+
)))
8992
}
9093
}
9194

@@ -132,7 +135,7 @@ mod tests {
132135
Err(FingerprintCompareError::DiffDetected(err)) => {
133136
assert_eq!(
134137
err,
135-
"{\
138+
"\n{\
136139
\n \"name\": \"kernel_version\",\
137140
\n \"prev\": \"sample_kernel_version\",\
138141
\n \"curr\": \"different_kernel_version\"\

src/cpu-template-helper/src/main.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,14 @@ fn run(cli: Cli) -> Result<(), HelperError> {
190190
Ok(())
191191
}
192192

193-
fn main() {
193+
fn main() -> std::process::ExitCode {
194194
let cli = Cli::parse();
195195
let result = run(cli);
196196
if let Err(e) = result {
197197
eprintln!("{}", e);
198-
std::process::exit(1);
198+
std::process::ExitCode::FAILURE
199199
} else {
200-
std::process::exit(0);
200+
std::process::ExitCode::SUCCESS
201201
}
202202
}
203203

0 commit comments

Comments
 (0)