summaryrefslogtreecommitdiffhomepage
path: root/test/test-manager/src/tests
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2024-08-14 03:13:50 +0200
committerSebastian Holmin <sebastian.holmin@mullvad.net>2024-08-16 11:19:07 +0200
commitafc15082c8d4e1c4e1fe392eb75d2f62e0486359 (patch)
tree17560cb035e6aa33dc9e50759824dea300469c37 /test/test-manager/src/tests
parentaf75221839a919ed1bad4fce88f849cc342641ff (diff)
downloadmullvadvpn-afc15082c8d4e1c4e1fe392eb75d2f62e0486359.tar.xz
mullvadvpn-afc15082c8d4e1c4e1fe392eb75d2f62e0486359.zip
Run tests in the order given
Diffstat (limited to 'test/test-manager/src/tests')
-rw-r--r--test/test-manager/src/tests/mod.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/test-manager/src/tests/mod.rs b/test/test-manager/src/tests/mod.rs
index 74502b00b0..7e4cbc9eb6 100644
--- a/test/test-manager/src/tests/mod.rs
+++ b/test/test-manager/src/tests/mod.rs
@@ -78,6 +78,26 @@ pub fn get_tests() -> Vec<&'static TestMetadata> {
tests
}
+pub fn get_filtered_tests(specified_tests: &[String]) -> Result<Vec<&TestMetadata>, anyhow::Error> {
+ let mut tests = get_tests();
+ tests.retain(|test| test.should_run_on_os(TEST_CONFIG.os));
+ if !specified_tests.is_empty() {
+ specified_tests
+ .iter()
+ .map(|f| {
+ tests
+ .iter()
+ .find(|t| t.command.eq_ignore_ascii_case(f))
+ .cloned()
+ .ok_or(anyhow::anyhow!("Test '{f}' not found"))
+ })
+ .collect()
+ } else {
+ // Keep all tests
+ Ok(tests)
+ }
+}
+
/// Make sure the daemon is installed and logged in and restore settings to the defaults.
pub async fn prepare_daemon(
rpc: &ServiceClient,