1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
mod cratesio; mod git; mod local; mod traits; pub use crate::runners::cratesio::CratesIoDependencyTestRunner; pub use crate::runners::git::GitDependencyTestRunner; pub use crate::runners::local::LocalDependencyTestRunner; pub use crate::runners::traits::TestRunner; use crate::command::{Crate, DependencyTypeEnum}; pub fn get_test_runner(dependency: &Crate) -> Box<dyn TestRunner> { match dependency.get_dependency_type() { DependencyTypeEnum::CratesIo(_) => Box::new(CratesIoDependencyTestRunner::new(dependency)), DependencyTypeEnum::Git(_) => Box::new(GitDependencyTestRunner::new(dependency)), DependencyTypeEnum::Local => Box::new(LocalDependencyTestRunner::new(dependency)), } }