decdn-cli 0.0.1

User-facing deCDN CLI (decdn binary): probe, fetch, pools, publishing, origin import, node admin
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use super::exit_code_for;
use std::process::ExitCode;

#[test]
fn gave_up_exits_75_and_anything_else_fails_with_1() {
    let gave_up = anyhow::Error::new(decdn_client::GaveUp {
        idle: std::time::Duration::from_mins(10),
    });
    assert_eq!(exit_code_for(&gave_up), ExitCode::from(75));
    let wrapped = gave_up.context("fetch");
    assert_eq!(exit_code_for(&wrapped), ExitCode::from(75));
    let interrupted = anyhow::Error::new(decdn_cli::commands::interrupt::Interrupted);
    assert_eq!(exit_code_for(&interrupted), ExitCode::from(130));
    assert_eq!(
        exit_code_for(&anyhow::anyhow!("pool empty")),
        ExitCode::FAILURE
    );
}