embedded_hal_mock/eh1/
error.rs

1use std::{error::Error as StdError, fmt, io};
2
3use eh1 as embedded_hal;
4use embedded_hal::digital::ErrorKind::{self, Other};
5
6/// Errors that may occur during mocking.
7#[derive(PartialEq, Eq, Clone, Debug)]
8pub enum MockError {
9    /// An I/O-Error occurred
10    Io(io::ErrorKind),
11}
12
13impl embedded_hal::digital::Error for MockError {
14    fn kind(&self) -> ErrorKind {
15        Other
16    }
17}
18
19impl From<io::Error> for MockError {
20    fn from(e: io::Error) -> Self {
21        MockError::Io(e.kind())
22    }
23}
24
25impl fmt::Display for MockError {
26    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
27        match self {
28            MockError::Io(kind) => write!(f, "I/O error: {:?}", kind),
29        }
30    }
31}
32
33impl StdError for MockError {}