9832c22b4d
This patch adds unit tests for the new Rust 1.47.0 release. Except for the new Notable Traits section, we’re already parsing the output correctly.
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
---
|
|
source: tests/output.rs
|
|
expression: "get_stdout(&[\"-e\", item])"
|
|
---
|
|
anyhow Module anyhow rusty-man
|
|
|
|
EXAMPLES
|
|
Example 1 of 5
|
|
use anyhow::Result;
|
|
|
|
fn get_cluster_info() -> Result<ClusterMap> {
|
|
let config = std::fs::read_to_string("cluster.json")?;
|
|
let map: ClusterMap = serde_json::from_str(&config)?;
|
|
Ok(map)
|
|
}
|
|
|
|
Example 2 of 5
|
|
use anyhow::{Context, Result};
|
|
|
|
fn main() -> Result<()> {
|
|
...
|
|
it.detach().context("Failed to detach the important thing")?;
|
|
|
|
let content = std::fs::read(path)
|
|
.with_context(|| format!("Failed to read instrs from {}", path))?;
|
|
...
|
|
}
|
|
|
|
Example 3 of 5
|
|
// If the error was caused by redaction, then return a
|
|
// tombstone instead of the content.
|
|
match root_cause.downcast_ref::<DataStoreError>() {
|
|
Some(DataStoreError::Censored(_)) => Ok(Poll::Ready(REDACTED_CONTENT)),
|
|
None => Err(error),
|
|
}
|
|
|
|
Example 4 of 5
|
|
use thiserror::Error;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum FormatError {
|
|
#[error("Invalid header (expected {expected:?}, got {found:?})")]
|
|
InvalidHeader {
|
|
expected: String,
|
|
found: String,
|
|
},
|
|
#[error("Missing attribute: {0}")]
|
|
MissingAttribute(String),
|
|
}
|
|
|
|
Example 5 of 5
|
|
return Err(anyhow!("Missing attribute: {}", missing));
|
|
|
|
|