summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJustus Winter <justus@pep-project.org>2018-01-08 15:56:15 +0100
committerJustus Winter <justus@pep-project.org>2018-01-08 17:14:45 +0100
commit8215898c23c6e3bf8b29c71e76833ac6a9b4e526 (patch)
tree6e957f2b665051115e6988a702242ab4d9f72dea /core
parentf50c15c3d245fd7d09075d8009608fb2fc8088e3 (diff)
core: Export macro 'assert_match'.
- Unify with the variant in openpgp::tpk.
Diffstat (limited to 'core')
-rw-r--r--core/src/lib.rs71
1 files changed, 36 insertions, 35 deletions
diff --git a/core/src/lib.rs b/core/src/lib.rs
index aa9f0232..1451bcc3 100644
--- a/core/src/lib.rs
+++ b/core/src/lib.rs
@@ -258,62 +258,63 @@ impl NetworkPolicy {
}
}
+#[macro_export]
+macro_rules! assert_match {
+ ( $error: pat = $expr:expr ) => {
+ let x = $expr;
+ if let $error = x {
+ /* Pass. */
+ } else {
+ panic!("Expected {}, got {:?}.", stringify!($error), x);
+ }
+ };
+}
+
#[cfg(test)]
mod network_policy_test {
use super::{Error, NetworkPolicy};
- macro_rules! assert_match {
- ( $result:expr, $error: pat ) => {
- if let $error = $result {
- /* Pass. */
- } else {
- panic!("Expected {}, got {:?}.", stringify!($error), $result);
- }
- };
- }
-
-
#[test]
fn offline() {
let p = NetworkPolicy::Offline;
- assert_match!(p.assert(NetworkPolicy::Anonymized),
- Err(Error::NetworkPolicyViolation(_)));
- assert_match!(p.assert(NetworkPolicy::Encrypted),
- Err(Error::NetworkPolicyViolation(_)));
- assert_match!(p.assert(NetworkPolicy::Insecure),
- Err(Error::NetworkPolicyViolation(_)));
+ assert_match!(
+ Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Anonymized));
+ assert_match!(
+ Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Encrypted));
+ assert_match!(
+ Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Insecure));
}
#[test]
fn anonymized() {
let p = NetworkPolicy::Anonymized;
- assert_match!(p.assert(NetworkPolicy::Anonymized),
- Ok(()));
- assert_match!(p.assert(NetworkPolicy::Encrypted),
- Err(Error::NetworkPolicyViolation(_)));
- assert_match!(p.assert(NetworkPolicy::Insecure),
- Err(Error::NetworkPolicyViolation(_)));
+ assert_match!(
+ Ok(()) = p.assert(NetworkPolicy::Anonymized));
+ assert_match!(
+ Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Encrypted));
+ assert_match!(
+ Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Insecure));
}
#[test]
fn encrypted() {
let p = NetworkPolicy::Encrypted;
- assert_match!(p.assert(NetworkPolicy::Anonymized),
- Ok(()));
- assert_match!(p.assert(NetworkPolicy::Encrypted),
- Ok(()));
- assert_match!(p.assert(NetworkPolicy::Insecure),
- Err(Error::NetworkPolicyViolation(_)));
+ assert_match!(
+ Ok(()) = p.assert(NetworkPolicy::Anonymized));
+ assert_match!(
+ Ok(()) = p.assert(NetworkPolicy::Encrypted));
+ assert_match!(
+ Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Insecure));
}
#[test]
fn insecure() {
let p = NetworkPolicy::Insecure;
- assert_match!(p.assert(NetworkPolicy::Anonymized),
- Ok(()));
- assert_match!(p.assert(NetworkPolicy::Encrypted),
- Ok(()));
- assert_match!(p.assert(NetworkPolicy::Insecure),
- Ok(()));
+ assert_match!(
+ Ok(()) = p.assert(NetworkPolicy::Anonymized));
+ assert_match!(
+ Ok(()) = p.assert(NetworkPolicy::Encrypted));
+ assert_match!(
+ Ok(()) = p.assert(NetworkPolicy::Insecure));
}
}