Skip to content

Commit 102a0c7

Browse files
Merge pull request #829 from Skgland/handle_other_prepare_errors
handle the two remaining PrepareError variants
2 parents 9e5eaac + 3ceab9a commit 102a0c7

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

src/report/display.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ impl ResultName for BrokenReason {
4343
match self {
4444
BrokenReason::Unknown => "broken crate".into(),
4545
BrokenReason::CargoToml => "broken Cargo.toml".into(),
46+
BrokenReason::BrokenDependencies => "broken deps".into(),
4647
BrokenReason::Yanked => "deps yanked".into(),
4748
BrokenReason::MissingGitRepository => "missing repo".into(),
49+
BrokenReason::InvalidCargoLock => "invalid Cargo.lock".into(),
4850
BrokenReason::MissingDependencies => "missing deps".into(),
4951
}
5052
}

src/results/mod.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,10 @@ impl FailureReason {
299299
string_enum!(pub enum BrokenReason {
300300
Unknown => "unknown",
301301
CargoToml => "cargo-toml",
302+
BrokenDependencies => "broken-deps",
302303
Yanked => "yanked",
303304
MissingDependencies => "missing-deps",
305+
InvalidCargoLock => "invalid-cargo-lock",
304306
MissingGitRepository => "missing-git-repository",
305307
});
306308

@@ -332,7 +334,8 @@ mod tests {
332334
#[test]
333335
fn test_test_result_parsing() {
334336
use super::{
335-
FailureReason::*,
337+
BrokenReason::{self, *},
338+
FailureReason::{self, *},
336339
TestResult::{self, *},
337340
};
338341

@@ -359,12 +362,19 @@ mod tests {
359362

360363
//"build-fail:depends-on()" => BuildFail(DependsOn(vec!["001"])),
361364
test_from_str! {
362-
"prepare-fail:unknown" => PrepareFail(Unknown),
365+
"prepare-fail:unknown" => PrepareFail(FailureReason::Unknown),
363366
"prepare-fail:oom" => PrepareFail(OOM),
364367
"prepare-fail:docker" => PrepareFail(Docker),
365368
"prepare-fail:no-space" => PrepareFail(NoSpace),
366369
"prepare-fail:timeout" => PrepareFail(Timeout),
367-
"build-fail:unknown" => BuildFail(Unknown),
370+
"broken:unknown" => BrokenCrate(BrokenReason::Unknown),
371+
"broken:cargo-toml" => BrokenCrate(CargoToml),
372+
"broken:broken-deps" => BrokenCrate(BrokenDependencies),
373+
"broken:yanked" => BrokenCrate(Yanked),
374+
"broken:missing-deps" => BrokenCrate(MissingDependencies),
375+
"broken:invalid-cargo-lock" => BrokenCrate(InvalidCargoLock),
376+
"broken:missing-git-repository" => BrokenCrate(MissingGitRepository),
377+
"build-fail:unknown" => BuildFail(FailureReason::Unknown),
368378
"build-fail:docker" => BuildFail(Docker),
369379
"build-fail:compiler-error(001, 002)" => BuildFail(CompilerError(btreeset!["001".parse().unwrap(), "002".parse().unwrap()])),
370380
"build-fail:compiler-error(001)" => BuildFail(CompilerError(btreeset!["001".parse().unwrap()])),
@@ -380,7 +390,7 @@ mod tests {
380390
// Backward compatibility
381391
assert_eq!(
382392
TestResult::from_str("build-fail").unwrap(),
383-
BuildFail(Unknown)
393+
BuildFail(FailureReason::Unknown)
384394
);
385395
assert!(TestResult::from_str("error:oom").is_err());
386396
assert!(TestResult::from_str("build-fail:pleasedonotaddthis").is_err());

src/runner/test.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,18 @@ pub(super) fn detect_broken<T>(res: Result<T, Error>) -> Result<T, Error> {
5656
PrepareError::InvalidCargoTomlSyntax => {
5757
TestResult::BrokenCrate(BrokenReason::CargoToml)
5858
}
59+
PrepareError::BrokenDependencies(_) => {
60+
TestResult::BrokenCrate(BrokenReason::BrokenDependencies)
61+
}
5962
PrepareError::YankedDependencies(_) => {
6063
TestResult::BrokenCrate(BrokenReason::Yanked)
6164
}
6265
PrepareError::MissingDependencies(_) => {
6366
TestResult::BrokenCrate(BrokenReason::MissingDependencies)
6467
}
68+
PrepareError::InvalidCargoLock(_) => {
69+
TestResult::BrokenCrate(BrokenReason::InvalidCargoLock)
70+
}
6571
PrepareError::PrivateGitRepository => {
6672
TestResult::BrokenCrate(BrokenReason::MissingGitRepository)
6773
}

0 commit comments

Comments
 (0)