annotate tests/systemd.rs @ 1:ef8bf41097ac

Added integration tests
author Martin Habovstiak <martin.habovstiak@gmail.com>
date Fri, 27 Nov 2020 10:07:35 +0100
parents
children 9731ff589d9c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
1 // This integration test requires presence of systemd-socket-activate
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
2
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
3 use std::io;
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
4 use std::ffi::OsStr;
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
5 use std::process::{Command, Child};
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
6
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
7 mod comm;
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
8
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
9 enum Test {}
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
10
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
11 impl comm::Test for Test {
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
12 const SOCKET_ADDR: &'static str = "systemd://secret_socket_of_satoshi_nakamoto";
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
13
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
14 fn spawn_slave(program_name: &OsStr) -> io::Result<Child> {
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
15 Command::new("systemd-socket-activate")
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
16 .arg("-l")
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
17 .arg("127.0.0.1:4242")
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
18 .arg("--fdname=secret_socket_of_satoshi_nakamoto")
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
19 .arg("--setenv=SYSTEMD_SOCKET_INTEGRATION_TEST=slave")
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
20 .arg(program_name)
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
21 .spawn()
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
22 }
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
23 }
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
24
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
25 #[test]
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
26 fn main() {
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
27 comm::main::<Test>();
ef8bf41097ac Added integration tests
Martin Habovstiak <martin.habovstiak@gmail.com>
parents:
diff changeset
28 }