diff options
Diffstat (limited to 'vendor/thiserror/tests/test_backtrace.rs')
-rw-r--r-- | vendor/thiserror/tests/test_backtrace.rs | 274 |
1 files changed, 0 insertions, 274 deletions
diff --git a/vendor/thiserror/tests/test_backtrace.rs b/vendor/thiserror/tests/test_backtrace.rs deleted file mode 100644 index 4710d45..0000000 --- a/vendor/thiserror/tests/test_backtrace.rs +++ /dev/null @@ -1,274 +0,0 @@ -#![cfg_attr(thiserror_nightly_testing, feature(error_generic_member_access))] - -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("...")] -pub struct Inner; - -#[cfg(thiserror_nightly_testing)] -#[derive(Error, Debug)] -#[error("...")] -pub struct InnerBacktrace { - backtrace: std::backtrace::Backtrace, -} - -#[cfg(thiserror_nightly_testing)] -pub mod structs { - use super::{Inner, InnerBacktrace}; - use std::backtrace::Backtrace; - use std::error::{self, Error}; - use std::sync::Arc; - use thiserror::Error; - - #[derive(Error, Debug)] - #[error("...")] - pub struct PlainBacktrace { - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct ExplicitBacktrace { - #[backtrace] - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptBacktrace { - #[backtrace] - backtrace: Option<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct ArcBacktrace { - #[backtrace] - backtrace: Arc<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct BacktraceFrom { - #[from] - source: Inner, - #[backtrace] - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct CombinedBacktraceFrom { - #[from] - #[backtrace] - source: InnerBacktrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptBacktraceFrom { - #[from] - source: Inner, - #[backtrace] - backtrace: Option<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct ArcBacktraceFrom { - #[from] - source: Inner, - #[backtrace] - backtrace: Arc<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct AnyhowBacktrace { - #[backtrace] - source: anyhow::Error, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct BoxDynErrorBacktrace { - #[backtrace] - source: Box<dyn Error>, - } - - #[test] - fn test_backtrace() { - let error = PlainBacktrace { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ExplicitBacktrace { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktrace { - backtrace: Some(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktrace { - backtrace: Arc::new(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = BacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = CombinedBacktraceFrom::from(InnerBacktrace { - backtrace: Backtrace::capture(), - }); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = AnyhowBacktrace { - source: anyhow::Error::msg("..."), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = BoxDynErrorBacktrace { - source: Box::new(PlainBacktrace { - backtrace: Backtrace::capture(), - }), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - } -} - -#[cfg(thiserror_nightly_testing)] -pub mod enums { - use super::{Inner, InnerBacktrace}; - use std::backtrace::Backtrace; - use std::error; - use std::sync::Arc; - use thiserror::Error; - - #[derive(Error, Debug)] - pub enum PlainBacktrace { - #[error("...")] - Test { backtrace: Backtrace }, - } - - #[derive(Error, Debug)] - pub enum ExplicitBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Backtrace, - }, - } - - #[derive(Error, Debug)] - pub enum OptBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Option<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum ArcBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Arc<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum BacktraceFrom { - #[error("...")] - Test { - #[from] - source: Inner, - #[backtrace] - backtrace: Backtrace, - }, - } - - #[derive(Error, Debug)] - pub enum CombinedBacktraceFrom { - #[error("...")] - Test { - #[from] - #[backtrace] - source: InnerBacktrace, - }, - } - - #[derive(Error, Debug)] - pub enum OptBacktraceFrom { - #[error("...")] - Test { - #[from] - source: Inner, - #[backtrace] - backtrace: Option<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum ArcBacktraceFrom { - #[error("...")] - Test { - #[from] - source: Inner, - #[backtrace] - backtrace: Arc<Backtrace>, - }, - } - - #[test] - fn test_backtrace() { - let error = PlainBacktrace::Test { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ExplicitBacktrace::Test { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktrace::Test { - backtrace: Some(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktrace::Test { - backtrace: Arc::new(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = BacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = CombinedBacktraceFrom::from(InnerBacktrace { - backtrace: Backtrace::capture(), - }); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - } -} - -#[test] -#[cfg_attr(not(thiserror_nightly_testing), ignore)] -fn test_backtrace() {} |