summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2024-11-15 08:21:37 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2024-11-15 09:58:51 +0100
commit8bd62181f76f786e9330927b7066dba75658a776 (patch)
treee2d76f6d01f7ac7f9824ee71292571d722cc4dd5
parent11cd05db3c35a2371077abc617e4b6bda620b17c (diff)
downloadmullvadvpn-8bd62181f76f786e9330927b7066dba75658a776.tar.xz
mullvadvpn-8bd62181f76f786e9330927b7066dba75658a776.zip
Return error from `get_tunnel_interface` to ease error propagation
-rw-r--r--test/test-manager/src/tests/audits/mllvd_cr_24_03.rs2
-rw-r--r--test/test-manager/src/tests/helpers.rs11
2 files changed, 8 insertions, 5 deletions
diff --git a/test/test-manager/src/tests/audits/mllvd_cr_24_03.rs b/test/test-manager/src/tests/audits/mllvd_cr_24_03.rs
index ed3d2337d2..bf743bcc67 100644
--- a/test/test-manager/src/tests/audits/mllvd_cr_24_03.rs
+++ b/test/test-manager/src/tests/audits/mllvd_cr_24_03.rs
@@ -45,7 +45,7 @@ pub async fn test_mllvd_cr_24_03(
connect_and_wait(&mut mullvad_client).await?;
// Get the private ip address
let in_tunnel_ip = {
- let vpn_interface = get_tunnel_interface(&mut mullvad_client).await.unwrap(); // :cat-scream:
+ let vpn_interface = get_tunnel_interface(&mut mullvad_client).await?;
rpc.get_interface_ip(vpn_interface).await?
};
// Invoke arping
diff --git a/test/test-manager/src/tests/helpers.rs b/test/test-manager/src/tests/helpers.rs
index 0c3f16ccb3..84945aef79 100644
--- a/test/test-manager/src/tests/helpers.rs
+++ b/test/test-manager/src/tests/helpers.rs
@@ -168,12 +168,15 @@ pub async fn using_mullvad_exit(rpc: &ServiceClient) -> bool {
}
/// Get VPN tunnel interface name
-pub async fn get_tunnel_interface(client: &mut MullvadProxyClient) -> Option<String> {
- match client.get_tunnel_state().await.ok()? {
+pub async fn get_tunnel_interface(client: &mut MullvadProxyClient) -> anyhow::Result<String> {
+ match client.get_tunnel_state().await? {
TunnelState::Connecting { endpoint, .. } | TunnelState::Connected { endpoint, .. } => {
- endpoint.tunnel_interface
+ let Some(tunnel_interface) = endpoint.tunnel_interface else {
+ bail!("Unknown tunnel interface");
+ };
+ Ok(tunnel_interface)
}
- _ => None,
+ _ => bail!("Tunnel is not up"),
}
}