Files
topgrade/src/error.rs

37 lines
793 B
Rust
Raw Normal View History

2018-12-11 16:43:26 +02:00
use std::process::ExitStatus;
use thiserror::Error;
2018-12-11 16:43:26 +02:00
#[derive(Error, Debug, PartialEq)]
pub enum TopgradeError {
#[error("{0}")]
2018-12-11 16:43:26 +02:00
ProcessFailed(ExitStatus),
2020-06-25 08:37:29 +03:00
#[error("{0}: {1}")]
ProcessFailedWithOutput(ExitStatus, String),
2019-12-12 20:24:22 +02:00
#[error("Sudo is required for this step")]
#[allow(dead_code)]
2019-12-12 20:24:22 +02:00
SudoRequired,
#[error("Unknown Linux Distribution")]
2018-12-11 16:43:26 +02:00
#[cfg(target_os = "linux")]
UnknownLinuxDistribution,
}
#[derive(Error, Debug)]
#[error("A step failed")]
pub struct StepFailed;
2018-12-11 16:43:26 +02:00
2021-02-27 06:41:55 +02:00
#[derive(Error, Debug)]
#[error("Dry running")]
pub struct DryRun();
#[derive(Error, Debug)]
2020-08-21 23:04:36 +03:00
#[error("{0}")]
pub struct SkipStep(pub String);
2018-12-11 16:43:26 +02:00
#[cfg(all(windows, feature = "self-update"))]
#[derive(Error, Debug)]
#[error("Topgrade Upgraded")]
pub struct Upgraded(pub ExitStatus);