summaryrefslogtreecommitdiff
path: root/src/shared/tests.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-02-13 21:13:50 -0500
committerGitHub <noreply@github.com>2017-02-13 21:13:50 -0500
commitf34182f00e5517c22cba81a8886481e804f4cc78 (patch)
tree9ed878e2ae674614a7e5b1798fdb44877fb0e83a /src/shared/tests.c
parent4a027e1935c630e71efdc829c4b72492ad25cbde (diff)
parent4f8425b8d5a3fb2e5ec24b77f1a7a95db55f532c (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.c13
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;
+}