aboutsummaryrefslogtreecommitdiff
path: root/tests/test_rpath_rpath_get.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2020-05-07 06:11:13 -0400
committerGitHub <noreply@github.com>2020-05-07 06:11:13 -0400
commit26db5dff18a40b402d20a572953870aab549c5f2 (patch)
tree539d6a9800f41efad4ed50b1864aae1e677ccded /tests/test_rpath_rpath_get.c
parent6cc450d8ff714af09374f9bc07aea8bb05f74a5c (diff)
parentde47b0d91a79651088e76d64dc4b032146203cca (diff)
downloadspmc-26db5dff18a40b402d20a572953870aab549c5f2.tar.gz
Merge pull request #33 from jhunkeler/install-name-tool
Install name tool (etc...)
Diffstat (limited to 'tests/test_rpath_rpath_get.c')
-rw-r--r--tests/test_rpath_rpath_get.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test_rpath_rpath_get.c b/tests/test_rpath_rpath_get.c
new file mode 100644
index 0000000..c8e573b
--- /dev/null
+++ b/tests/test_rpath_rpath_get.c
@@ -0,0 +1,21 @@
+#include "spm.h"
+#include "framework.h"
+
+const char *testFmt = "returned '%s', expected '%s'\n";
+
+int main(int argc, char *argv[]) {
+ int retval_lib = 0;
+ int retval_bin = 0;
+ char *filename_lib = mock_image(AS_MOCK_LIB, "libwinning", (char *[]) {"-L/usr/lib", "-lz", NULL}, &retval_lib);
+ char *filename_bin = mock_image(AS_MOCK_BIN, "winning", (char *[]) {"-L.", "-lwinning", NULL}, &retval_bin);
+ char *rpath_lib = rpath_get(filename_lib);
+ char *rpath_bin = rpath_get(filename_bin);
+
+ myassert(retval_lib == 0, "mock library build failed with code: %d\n", retval_lib);
+ myassert(strcmp(dirname(filename_lib), rpath_lib) == 0, testFmt, dirname(filename_lib), rpath_lib);
+
+ myassert(retval_lib == 0, "mock executable build failed with code: %d\n", retval_bin);
+ myassert(strcmp(dirname(filename_bin), rpath_bin) == 0, testFmt, dirname(filename_bin), rpath_bin);
+
+ return 0;
+} \ No newline at end of file