summaryrefslogtreecommitdiffhomepage
path: root/tests/process.rs
blob: 2281a9d9900c1d73700a35ca62f80674bc5b9a08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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();
}