diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-02-13 21:13:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-13 21:13:50 -0500 |
commit | f34182f00e5517c22cba81a8886481e804f4cc78 (patch) | |
tree | 9ed878e2ae674614a7e5b1798fdb44877fb0e83a /src/shared/tests.c | |
parent | 4a027e1935c630e71efdc829c4b72492ad25cbde (diff) | |
parent | 4f8425b8d5a3fb2e5ec24b77f1a7a95db55f532c (diff) |
Merge pull request #5298 from martinpitt/relocatable-tests
test: make unit tests relocatable and add an "install-tests" make target
Diffstat (limited to 'src/shared/tests.c')
-rw-r--r-- | src/shared/tests.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/shared/tests.c b/src/shared/tests.c index 409116290d..7034687725 100644 --- a/src/shared/tests.c +++ b/src/shared/tests.c @@ -17,6 +17,9 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include <alloc-util.h> +#include <fs-util.h> +#include <libgen.h> #include <stdlib.h> #include <util.h> @@ -31,3 +34,13 @@ char* setup_fake_runtime_dir(void) { return p; } + +const char* get_exe_relative_testdata_dir(void) { + _cleanup_free_ char *exedir = NULL; + /* convenience: caller does not need to free result */ + static char testdir[PATH_MAX]; + + assert_se(readlink_and_make_absolute("/proc/self/exe", &exedir) >= 0); + assert_se(snprintf(testdir, sizeof(testdir), "%s/testdata", dirname(exedir)) > 0); + return testdir; +} |