provola-core 0.2.0

A tool for quick development/test cycle in any language
Documentation
use crate::test_runners::TestRunnerFeature;

#[derive(thiserror::Error, Debug)]
pub enum Error {
    #[error("no test result available")]
    NoResult,
    #[error("executable not available")]
    NoExecutable,
    #[error("cannot build: {0}")]
    BuildFailed(String),
    #[error("i/o error")]
    IoError(#[from] std::io::Error),
    #[error("language not supported: {0}")]
    LangNotSupported(String),
    #[error("cannot execute")]
    ExecError(#[from] subprocess::PopenError),
    #[error(transparent)]
    InvalidInputData(std::io::Error),
    #[error(transparent)]
    InvalidOutputData(std::io::Error),
    #[error("nothing to do")]
    NothingToDo,
    #[error("not implemented")]
    NotImplemented,
    #[error("cannot watch file: {0}")]
    CannotWatch(String),
    #[error("test runner not supported: {0}")]
    TestRunnerNotSupported(String),
    #[error("reporter error")]
    ReporterError(#[from] crate::reporter::Error),
    #[error("report unavailable")]
    ReportUnavailable,
    #[error("feature not available: {0}")]
    TestRunnerFeatureNotAvailable(TestRunnerFeature),
    #[error("cannot parse report: {0}")]
    ReportParseError(Box<dyn std::error::Error>),
    #[error("gui is not available")]
    GuiNotAvailable,
    #[error("{0}")]
    GenericError(String),
}