From f9d3555ec384a4ed428a114f5fd33abaefce30c6 Mon Sep 17 00:00:00 2001 From: "phoglund@webrtc.org" Date: Mon, 19 Jan 2015 13:57:59 +0000 Subject: Fixing LD_LIBRARY_PATH, improving safety for libjingle java unit test. The was was really, really difficult to run before because you needed a custom env with both LD_PRELOAD and library path. Now the script will set up the correct library path and be more transparent about what it requires. BUG=None TESTED=locally R=perkj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/39539004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@8093 4adac7df-926f-26a2-2b94-8c16560cd09d --- .../javatests/libjingle_peerconnection_java_unittest.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) mode change 100644 => 100755 talk/app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh diff --git a/talk/app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh b/talk/app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh old mode 100644 new mode 100755 index 4f8c74ad07..edfc743ab0 --- a/talk/app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh +++ b/talk/app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh @@ -25,7 +25,9 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# Wrapper script for running the Java tests under this directory. +# Wrapper script for running the Java tests under this directory. This script +# will only work if it has been massaged by the build action and placed in +# the PRODUCT_DIR (e.g. out/Debug). # Exit with error immediately if any subcommand fails. set -e @@ -33,14 +35,22 @@ set -e # Change directory to the PRODUCT_DIR (e.g. out/Debug). cd -P $(dirname $0) +if [ -z "$LD_PRELOAD" ]; then + echo "LD_PRELOAD isn't set. It should be set to something like " + echo "/usr/lib/x86_64-linux-gnu/libpulse.so.0. I will now refuse to run " + echo "to protect you from the consequences of your folly." + exit 1 +fi + export CLASSPATH=`pwd`/junit-4.11.jar CLASSPATH=$CLASSPATH:`pwd`/libjingle_peerconnection_test.jar CLASSPATH=$CLASSPATH:`pwd`/libjingle_peerconnection.jar -export LD_LIBRARY_PATH=`pwd` +# This sets java.library.path so our lookup of libpeerconnection.so works. +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`:`pwd`/lib:`pwd`/lib.target # The RHS value is replaced by the build action that copies this script to -# <(PRODUCT_DIR). +# <(PRODUCT_DIR), using search-and-replace by the build action. export JAVA_HOME=GYP_JAVA_HOME ${JAVA_HOME}/bin/java -Xcheck:jni -classpath $CLASSPATH \ -- cgit v1.2.3