Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/report/display.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ impl ResultName for BrokenReason {
match self {
BrokenReason::Unknown => "broken crate".into(),
BrokenReason::CargoToml => "broken Cargo.toml".into(),
BrokenReason::BrokenDependencies => "broken deps".into(),
BrokenReason::Yanked => "deps yanked".into(),
BrokenReason::MissingGitRepository => "missing repo".into(),
BrokenReason::InvalidCargoLock => "invalid Cargo.lock".into(),
BrokenReason::MissingDependencies => "missing deps".into(),
}
}
Expand Down
18 changes: 14 additions & 4 deletions src/results/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -299,8 +299,10 @@ impl FailureReason {
string_enum!(pub enum BrokenReason {
Unknown => "unknown",
CargoToml => "cargo-toml",
BrokenDependencies => "broken-deps",
Yanked => "yanked",
MissingDependencies => "missing-deps",
InvalidCargoLock => "invalid-cargo-lock",
MissingGitRepository => "missing-git-repository",
});

Expand Down Expand Up @@ -332,7 +334,8 @@ mod tests {
#[test]
fn test_test_result_parsing() {
use super::{
FailureReason::*,
FailureReason::{self, *},
BrokenReason::{self, *},
TestResult::{self, *},
};

Expand All @@ -359,12 +362,19 @@ mod tests {

//"build-fail:depends-on()" => BuildFail(DependsOn(vec!["001"])),
test_from_str! {
"prepare-fail:unknown" => PrepareFail(Unknown),
"prepare-fail:unknown" => PrepareFail(FailureReason::Unknown),
"prepare-fail:oom" => PrepareFail(OOM),
"prepare-fail:docker" => PrepareFail(Docker),
"prepare-fail:no-space" => PrepareFail(NoSpace),
"prepare-fail:timeout" => PrepareFail(Timeout),
"build-fail:unknown" => BuildFail(Unknown),
"broken:unknown" => BrokenCrate(BrokenReason::Unknown),
"broken:cargo-toml" => BrokenCrate(CargoToml),
"broken:broken-deps" => BrokenCrate(BrokenDependencies),
"broken:yanked" => BrokenCrate(Yanked),
"broken:missing-deps" => BrokenCrate(MissingDependencies),
"broken:invalid-cargo-lock" => BrokenCrate(InvalidCargoLock),
"broken:missing-git-repository" => BrokenCrate(MissingGitRepository),
"build-fail:unknown" => BuildFail(FailureReason::Unknown),
"build-fail:docker" => BuildFail(Docker),
"build-fail:compiler-error(001, 002)" => BuildFail(CompilerError(btreeset!["001".parse().unwrap(), "002".parse().unwrap()])),
"build-fail:compiler-error(001)" => BuildFail(CompilerError(btreeset!["001".parse().unwrap()])),
Expand All @@ -380,7 +390,7 @@ mod tests {
// Backward compatibility
assert_eq!(
TestResult::from_str("build-fail").unwrap(),
BuildFail(Unknown)
BuildFail(FailureReason::Unknown)
);
assert!(TestResult::from_str("error:oom").is_err());
assert!(TestResult::from_str("build-fail:pleasedonotaddthis").is_err());
Expand Down
6 changes: 6 additions & 0 deletions src/runner/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,18 @@ pub(super) fn detect_broken<T>(res: Result<T, Error>) -> Result<T, Error> {
PrepareError::InvalidCargoTomlSyntax => {
TestResult::BrokenCrate(BrokenReason::CargoToml)
}
PrepareError::BrokenDependencies(_) => {
TestResult::BrokenCrate(BrokenReason::BrokenDependencies)
}
PrepareError::YankedDependencies(_) => {
TestResult::BrokenCrate(BrokenReason::Yanked)
}
PrepareError::MissingDependencies(_) => {
TestResult::BrokenCrate(BrokenReason::MissingDependencies)
}
PrepareError::InvalidCargoLock(_) => {
TestResult::BrokenCrate(BrokenReason::InvalidCargoLock)
}
PrepareError::PrivateGitRepository => {
TestResult::BrokenCrate(BrokenReason::MissingGitRepository)
}
Expand Down
Loading