summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChingis Dugarzhapov <chingis.dug@gmail.com>2014-04-19 10:03:41 (GMT)
committerChingis Dugarzhapov <chingis.dug@gmail.com>2014-04-19 10:05:56 (GMT)
commit02c185ff69f6e96c5e3081b8d9407ff8b74dc827 (patch)
tree16de12a7c67eee36680c4d6744f5803d978ca586 /tests
parent211ee2c00aeb4b0bc6ab33ad0ed34525d895069d (diff)
downloadpatchelf-02c185ff69f6e96c5e3081b8d9407ff8b74dc827.zip
patchelf-02c185ff69f6e96c5e3081b8d9407ff8b74dc827.tar.gz
patchelf-02c185ff69f6e96c5e3081b8d9407ff8b74dc827.tar.bz2
Added tests for --print-soname and --set-soname
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am6
-rwxr-xr-xtests/soname.sh21
2 files changed, 25 insertions, 2 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9a38df6..708b17e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -2,7 +2,7 @@ check_PROGRAMS = simple main main-scoped big-dynstr
TESTS = plain-fail.sh plain-run.sh shrink-rpath.sh set-interpreter-short.sh \
set-interpreter-long.sh set-rpath.sh no-rpath.sh big-dynstr.sh \
- set-rpath-library.sh
+ set-rpath-library.sh soname.sh
EXTRA_DIST = no-rpath $(TESTS)
TESTS_ENVIRONMENT = PATCHELF_DEBUG=1
@@ -44,7 +44,7 @@ big_dynstr_LDFLAGS = $(LDFLAGS_local)
# - without libtool, only archives (static libraries) can be built by automake
# - with libtool, it is difficult to control options
# - with libtool, it is not possible to compile convenience *dynamic* libraries :-(
-check_PROGRAMS += libfoo.so libfoo-scoped.so libbar.so libbar-scoped.so
+check_PROGRAMS += libfoo.so libfoo-scoped.so libbar.so libbar-scoped.so libsimple.so
libfoo_so_SOURCES = foo.c
libfoo_so_LDADD = -lbar $(AM_LDADD)
@@ -62,3 +62,5 @@ libbar_so_LDFLAGS = $(LDFLAGS_sharedlib) -Wl,-rpath,`pwd`/no-such-path
libbar_scoped_so_SOURCES = bar.c
libbar_scoped_so_LDFLAGS = $(LDFLAGS_sharedlib)
+libsimple_so_SOURCES = simple.c
+libsimple_so_LDFLAGS = $(LDFLAGS_sharedlib) -Wl,-soname,libsimple.so.1.0
diff --git a/tests/soname.sh b/tests/soname.sh
new file mode 100755
index 0000000..f81e8ed
--- /dev/null
+++ b/tests/soname.sh
@@ -0,0 +1,21 @@
+#! /bin/sh -e
+SCRATCH=scratch/$(basename $0 .sh)
+
+rm -rf ${SCRATCH}
+mkdir -p ${SCRATCH}
+
+cp libsimple.so ${SCRATCH}/
+
+# print and set DT_SONAME
+soname=$(../src/patchelf --print-soname ${SCRATCH}/libsimple.so)
+if test "$soname" != libsimple.so.1.0; then
+ echo "failed --print-soname test. Expected soname: libsimple.so.1.0, got: $soname"
+ exit 1
+fi
+
+../src/patchelf --set-soname libsimple.so.1.1 ${SCRATCH}/libsimple.so
+newSoname=$(../src/patchelf --print-soname ${SCRATCH}/libsimple.so)
+if test "$newSoname" != libsimple.so.1.1; then
+ echo "failed --set-soname test. Expected newSoname: libsimple.so.1.1, got: $newSoname"
+ exit 1
+fi