summaryrefslogtreecommitdiffhomepage
path: root/test/test-manager/src
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-02-06 14:22:59 +0100
committerDavid Lönnhager <david.l@mullvad.net>2024-02-07 17:34:19 +0100
commit0bfaddec42d4a2db516d99bc572b27e394427aa8 (patch)
tree44d1359f75d6dcf2be62f44ed54ddd89cab94d25 /test/test-manager/src
parentf94d31a75bcfc0228dee7835cb8c1a992cf29f1a (diff)
downloadmullvadvpn-0bfaddec42d4a2db516d99bc572b27e394427aa8.tar.xz
mullvadvpn-0bfaddec42d4a2db516d99bc572b27e394427aa8.zip
Move testing SOCKS server to own crate
Diffstat (limited to 'test/test-manager/src')
-rw-r--r--test/test-manager/src/main.rs36
1 files changed, 7 insertions, 29 deletions
diff --git a/test/test-manager/src/main.rs b/test/test-manager/src/main.rs
index a06b2f0257..d09dab0f53 100644
--- a/test/test-manager/src/main.rs
+++ b/test/test-manager/src/main.rs
@@ -14,7 +14,6 @@ use std::path::PathBuf;
use anyhow::Context;
use anyhow::Result;
use clap::Parser;
-use futures::StreamExt;
use std::net::SocketAddr;
use tests::config::DEFAULT_MULLVAD_HOST;
@@ -250,33 +249,12 @@ async fn main() -> Result<()> {
.await
.context("Failed to run provisioning for VM")?;
- let socks_server: fast_socks5::server::Socks5Server =
- fast_socks5::server::Socks5Server::bind(SocketAddr::new(
- crate::vm::network::NON_TUN_GATEWAY.into(),
- crate::vm::network::SOCKS5_PORT,
- ))
- .await
- .context("Failed to start SOCKS5 server")?;
- let socks_server = tokio::spawn(async move {
- let mut incoming = socks_server.incoming();
-
- while let Some(new_client) = incoming.next().await {
- match new_client {
- Ok(socket) => {
- let fut = socket.upgrade_to_socks5();
- tokio::spawn(async move {
- match fut.await {
- Ok(_socket) => log::info!("socks client disconnected"),
- Err(error) => log::error!("socks client failed: {error}"),
- }
- });
- }
- Err(error) => {
- log::error!("failed to accept socks client: {error}");
- }
- }
- }
- });
+ // For convenience, spawn a SOCKS5 server that is reachable for tests that need it
+ let socks = socks_server::spawn(SocketAddr::new(
+ crate::vm::network::NON_TUN_GATEWAY.into(),
+ crate::vm::network::SOCKS5_PORT,
+ ))
+ .await?;
let skip_wait = vm_config.provisioner != config::Provisioner::Noop;
@@ -321,7 +299,7 @@ async fn main() -> Result<()> {
if display {
instance.wait().await;
}
- socks_server.abort();
+ socks.abort();
result
}
Commands::FormatTestReports { reports } => {