view tests/systemd.rs @ 7:9731ff589d9c

Fix tests on non-linux systems We need to check that systemd tests fail on non-linux systems instead.
author Martin Habovstiak <martin.habovstiak@gmail.com>
date Fri, 27 Nov 2020 16:29:09 +0100
parents ef8bf41097ac
children f740dadd2948
line wrap: on
line source

// This integration test requires presence of systemd-socket-activate

use std::io;
use std::ffi::OsStr;
use std::process::{Command, Child};

mod comm;

enum Test {}

impl comm::Test for Test {
    const SOCKET_ADDR: &'static str = "systemd://secret_socket_of_satoshi_nakamoto";

    fn spawn_slave(program_name: &OsStr) -> io::Result<Child> {
        Command::new("systemd-socket-activate")
            .arg("-l")
            .arg("127.0.0.1:4242")
            .arg("--fdname=secret_socket_of_satoshi_nakamoto")
            .arg("--setenv=SYSTEMD_SOCKET_INTEGRATION_TEST=slave")
            .arg(program_name)
            .spawn()
    }
}

#[test]
#[cfg_attr(not(linux), should_panic)]
fn main() {
    comm::main::<Test>();
}