Mercurial > crates > systemd-socket
view tests/systemd.rs @ 6:a7893294e9b2
Make the crate compilable on non-linux systems
This makes the crate compile on other operating systems. Since systemd
is only supported on Linux, it simply disables systemd features on other
systems. The API is still the same, just parsing `systemd://` string
will return an error.
author | Martin Habovstiak <martin.habovstiak@gmail.com> |
---|---|
date | Fri, 27 Nov 2020 16:15:57 +0100 |
parents | ef8bf41097ac |
children | 9731ff589d9c |
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] fn main() { comm::main::<Test>(); }