summaryrefslogtreecommitdiffhomepage
path: root/talpid_openvpn_plugin/src
diff options
context:
space:
mode:
Diffstat (limited to 'talpid_openvpn_plugin/src')
-rw-r--r--talpid_openvpn_plugin/src/ffi/consts.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/talpid_openvpn_plugin/src/ffi/consts.rs b/talpid_openvpn_plugin/src/ffi/consts.rs
index 34f6f6c44b..18473dbc07 100644
--- a/talpid_openvpn_plugin/src/ffi/consts.rs
+++ b/talpid_openvpn_plugin/src/ffi/consts.rs
@@ -5,8 +5,9 @@ use std::os::raw::c_int;
error_chain!{
errors {
- InvalidEnumVariant {
+ InvalidEnumVariant(i: c_int) {
description("Integer does not match any enum variant")
+ display("{} is not a valid OPENVPN_PLUGIN_* constant", i)
}
}
}
@@ -34,7 +35,7 @@ impl OpenVpnPluginEvent {
if i >= OpenVpnPluginEvent::Up as c_int && i <= OpenVpnPluginEvent::N as c_int {
Ok(unsafe { ::std::mem::transmute_copy::<c_int, OpenVpnPluginEvent>(&i) })
} else {
- Err(ErrorKind::InvalidEnumVariant.into())
+ Err(ErrorKind::InvalidEnumVariant(i).into())
}
}
}
@@ -76,13 +77,13 @@ mod tests {
#[test]
fn from_int_negative() {
let result = OpenVpnPluginEvent::from_int(-5);
- assert_matches!(result, Err(Error(ErrorKind::InvalidEnumVariant, _)));
+ assert_matches!(result, Err(Error(ErrorKind::InvalidEnumVariant(-5), _)));
}
#[test]
fn from_int_invalid() {
let result = OpenVpnPluginEvent::from_int(14);
- assert_matches!(result, Err(Error(ErrorKind::InvalidEnumVariant, _)));
+ assert_matches!(result, Err(Error(ErrorKind::InvalidEnumVariant(14), _)));
}
#[test]