mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-12 09:17:44 +03:00
tests: skip tests if manager cannot be created
When running without a user session, tests fail.
This commit is contained in:
parent
10ddd913f0
commit
c5e33bf834
@ -30,10 +30,16 @@ int main(int argc, char *argv[]) {
|
||||
Service *ser;
|
||||
FILE *serial = NULL;
|
||||
FDSet *fdset = NULL;
|
||||
int r;
|
||||
|
||||
/* prepare the test */
|
||||
assert_se(set_unit_path(TEST_DIR) >= 0);
|
||||
assert_se(manager_new(SYSTEMD_USER, &m) >= 0);
|
||||
r = manager_new(SYSTEMD_USER, &m);
|
||||
if (r == -EPERM) {
|
||||
puts("manager_new: Permission denied. Skipping test.");
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
assert(r >= 0);
|
||||
assert_se(manager_startup(m, serial, fdset) >= 0);
|
||||
|
||||
/* load idle ok */
|
||||
@ -82,5 +88,5 @@ int main(int argc, char *argv[]) {
|
||||
assert_se(ser->exec_context.cpu_sched_policy == SCHED_RR);
|
||||
assert_se(ser->exec_context.cpu_sched_priority == 99);
|
||||
|
||||
return 0;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
@ -111,6 +111,7 @@ static void test_replacements(void) {
|
||||
static void test_unit_printf(void) {
|
||||
Manager *m;
|
||||
Unit *u, *u2;
|
||||
int r;
|
||||
|
||||
char _cleanup_free_ *mid, *bid, *host, *root_uid;
|
||||
struct passwd *root;
|
||||
@ -122,14 +123,19 @@ static void test_unit_printf(void) {
|
||||
assert_se((root = getpwnam("root")));
|
||||
assert_se(asprintf(&root_uid, "%d", (int) root->pw_uid) > 0);
|
||||
|
||||
assert_se(manager_new(SYSTEMD_USER, &m) == 0);
|
||||
r = manager_new(SYSTEMD_USER, &m);
|
||||
if (r == -EPERM) {
|
||||
puts("manager_new: Permission denied. Skipping test.");
|
||||
return;
|
||||
}
|
||||
assert(r == 0);
|
||||
|
||||
#define expect(unit, pattern, expected) \
|
||||
{ \
|
||||
char *e; \
|
||||
char _cleanup_free_ *t = \
|
||||
unit_full_printf(unit, pattern); \
|
||||
printf("result: %s\n", t); \
|
||||
printf("result: %s\nexpect: %s\n", t, expected); \
|
||||
if ((e = endswith(expected, "*"))) \
|
||||
assert(strncmp(t, e, e-expected)); \
|
||||
else \
|
||||
|
Loading…
Reference in New Issue
Block a user