summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-12-06 21:51:59 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-03-19 16:23:27 +0100
commit7b4329534688612dce829afb5088298e734f5086 (patch)
tree8fd27ebeb7ded7a6f5a4b679f2e7db817a3448ff /src/shared
parentcc46b9d91399aed39eb64fa07283e40eb8262078 (diff)
downloadsystemd-7b4329534688612dce829afb5088298e734f5086.tar.gz
tests: move unit files to units/ subdirectory
We have a bazillion of those unit files, and keeping them all directly in tests/ has become rather unwieldy.
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/tests.c24
-rw-r--r--src/shared/tests.h2
2 files changed, 15 insertions, 11 deletions
diff --git a/src/shared/tests.c b/src/shared/tests.c
index 96b5b805a9..764e4656bb 100644
--- a/src/shared/tests.c
+++ b/src/shared/tests.c
@@ -58,21 +58,25 @@ static void load_testdata_env(void) {
setenv(*k, *v, 0);
}
-const char* get_testdata_dir(void) {
- const char *env;
+int get_testdata_dir(const char *suffix, char **ret) {
+ const char *dir;
+ char *p;
load_testdata_env();
/* if the env var is set, use that */
- env = getenv("SYSTEMD_TEST_DATA");
- if (!env)
- env = SYSTEMD_TEST_DATA;
- if (access(env, F_OK) < 0) {
- fprintf(stderr, "ERROR: $SYSTEMD_TEST_DATA directory [%s] does not exist\n", env);
- exit(EXIT_FAILURE);
- }
+ dir = getenv("SYSTEMD_TEST_DATA");
+ if (!dir)
+ dir = SYSTEMD_TEST_DATA;
+ if (access(dir, F_OK) < 0)
+ return log_error_errno(errno, "ERROR: $SYSTEMD_TEST_DATA directory [%s] not accesible: %m", dir);
- return env;
+ p = path_join(dir, suffix);
+ if (!p)
+ return log_oom();
+
+ *ret = p;
+ return 0;
}
const char* get_catalog_dir(void) {
diff --git a/src/shared/tests.h b/src/shared/tests.h
index 5a6fd53f36..6817ef4860 100644
--- a/src/shared/tests.h
+++ b/src/shared/tests.h
@@ -20,7 +20,7 @@ static inline bool manager_errno_skip_test(int r) {
char* setup_fake_runtime_dir(void);
int enter_cgroup_subroot(char **ret_cgroup);
-const char* get_testdata_dir(void);
+int get_testdata_dir(const char *suffix, char **ret);
const char* get_catalog_dir(void);
bool slow_tests_enabled(void);
void test_setup_logging(int level);