summaryrefslogtreecommitdiffhomepage
path: root/tests/process.rs
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2016-12-05 15:09:49 +0100
committerLinus Färnstrand <linus@mullvad.net>2016-12-05 15:09:49 +0100
commit22da2098045bdf69a178eb7e4eaaaf38989235af (patch)
tree45207af982855eb3b0762c3382df55e4684779aa /tests/process.rs
parentf0ee88a4c02039ad198e42f78b39905ce7c89436 (diff)
parent057a45c28be721d44d76ed64c4dba6f8a0cbffdf (diff)
downloadmullvadvpn-22da2098045bdf69a178eb7e4eaaaf38989235af.tar.xz
mullvadvpn-22da2098045bdf69a178eb7e4eaaaf38989235af.zip
Merge branch 'add-process'
Diffstat (limited to 'tests/process.rs')
-rw-r--r--tests/process.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/process.rs b/tests/process.rs
new file mode 100644
index 0000000000..2281a9d990
--- /dev/null
+++ b/tests/process.rs
@@ -0,0 +1,36 @@
+extern crate talpid_core;
+
+mod util;
+
+use talpid_core::process::OpenVpnBuilder;
+
+#[cfg(target_os = "linux")]
+#[test]
+fn check_test_environment() {
+ use std::env;
+ let test_threads = env::var("RUST_TEST_THREADS");
+ if !test_threads.is_ok() || test_threads.unwrap() != "1" {
+ panic!("Tests must be run with environment variable RUST_TEST_THREADS=1");
+ }
+}
+
+#[cfg(target_os = "linux")]
+#[test]
+fn openvpn_builder_starts_correct_process() {
+ let mut child = OpenVpnBuilder::new("echo").spawn().unwrap();
+ let args = util::read_args_for_proc(child.id());
+
+ assert_eq!(vec!["echo"], args);
+ child.kill().unwrap();
+}
+
+#[cfg(target_os = "linux")]
+#[test]
+fn openvpn_builder_passes_config() {
+ let config_path = "/path/to/config".to_owned();
+ let mut child = OpenVpnBuilder::new("echo").config(&config_path).spawn().unwrap();
+ let args = util::read_args_for_proc(child.id());
+
+ assert!(args.contains(&config_path));
+ child.kill().unwrap();
+}