diff options
author | Martin Pitt <martin@piware.de> | 2017-02-15 08:52:17 +0100 |
---|---|---|
committer | Martin Pitt <martin@piware.de> | 2017-02-16 21:36:31 +0100 |
commit | c60b6ddafbd462378073f85e4690455fc3908ad2 (patch) | |
tree | 2e60f70d2f78d352e1be0196b55706f90b6177be /src/shared/tests.c | |
parent | 1f35a3b2a4a6bdc97c0eacfee208e05b2f67f523 (diff) | |
download | systemd-c60b6ddafbd462378073f85e4690455fc3908ad2.tar.gz |
test: show error message if $SYSTEMD_TEST_DATA does not exist
Rename get_exe_relative_testdata_dir() to get_testdata_dir() and move
the env var check into that, so that everything interesting happens at
the same place.
Diffstat (limited to 'src/shared/tests.c')
-rw-r--r-- | src/shared/tests.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/shared/tests.c b/src/shared/tests.c index f11b93bee7..be098b304c 100644 --- a/src/shared/tests.c +++ b/src/shared/tests.c @@ -36,11 +36,22 @@ char* setup_fake_runtime_dir(void) { return p; } -const char* get_exe_relative_testdata_dir(void) { +const char* get_testdata_dir(void) { + const char *env; _cleanup_free_ char *exedir = NULL; /* convenience: caller does not need to free result */ static char testdir[PATH_MAX]; + /* if the env var is set, use that */ + env = getenv("SYSTEMD_TEST_DATA"); + if (env) { + if (access(env, F_OK) >= 0) + return env; + + fputs("ERROR: $SYSTEMD_TEST_DATA directory does not exist\n", stderr); + exit(1); + } + assert_se(readlink_and_make_absolute("/proc/self/exe", &exedir) >= 0); /* Check if we're running from the builddir. If so, use the compiled in path. */ |