From 02c185ff69f6e96c5e3081b8d9407ff8b74dc827 Mon Sep 17 00:00:00 2001 From: Chingis Dugarzhapov Date: Sat, 19 Apr 2014 10:03:41 +0000 Subject: Added tests for --print-soname and --set-soname --- tests/Makefile.am | 6 ++++-- tests/soname.sh | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100755 tests/soname.sh 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 -- cgit v0.12