Skip to content

Commit 24cfc9a

Browse files
ChristianTackeGSIpcanal
authored andcommitted
Add test for ROOT_LIBRARY_PATH
1 parent 8254eb0 commit 24cfc9a

File tree

2 files changed

+126
-0
lines changed

2 files changed

+126
-0
lines changed

root/core/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,7 @@ ROOTTEST_ADD_TEST(execStatusBitsCheck
3434
OUTCNV ../html/MakeIndex_convert.sh
3535
OUTREF execStatusBitsCheck.ref
3636
)
37+
38+
ROOTTEST_ADD_TEST(CoreDynPathSetupUNIX
39+
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_dynpath_setup.sh ${ROOT_root_CMD}
40+
)

root/core/test_dynpath_setup.sh

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
#! /bin/bash
2+
3+
set -e
4+
5+
mkdir -p rootlibpath_test
6+
cd rootlibpath_test
7+
8+
root="$1"
9+
libdir="$("$root" -b -x -q -l -e 'cout << TROOT::GetLibDir();' | tail -1)"
10+
11+
set_rootrc() {
12+
if [ -n "$1" ]
13+
then
14+
echo "Unix.*.Root.DynamicPath $1" >.rootrc
15+
else
16+
echo "# Unix.*.Root.DynamicPath" >.rootrc
17+
fi
18+
}
19+
20+
get_dynpath() {
21+
cur_dynpath="$("$root" -b -x -q -l -e 'cout << gSystem->GetDynamicPath();' | tail -1)"
22+
}
23+
24+
check_begin() {
25+
case "$cur_dynpath:" in
26+
"$1":*)
27+
;;
28+
*)
29+
echo "dynamic path: ${cur_dynpath}"
30+
echo "dynamic path should start with: $1"
31+
exit 1
32+
;;
33+
esac
34+
}
35+
check_mid() {
36+
case ":$cur_dynpath:" in
37+
*:"$1":*)
38+
;;
39+
*)
40+
echo "dynamic path: ${cur_dynpath}"
41+
echo "dynamic path should contain: $1"
42+
exit 1
43+
;;
44+
esac
45+
}
46+
check_begin_and_mid() {
47+
check_begin "$1"
48+
check_mid "$2"
49+
}
50+
51+
52+
mkdir -p rootlibpath
53+
rootlibpath="$PWD/rootlibpath"
54+
mkdir -p rootrcpath
55+
rootrcpath="$PWD/rootrcpath"
56+
mkdir -p ldpath
57+
ldpath="$PWD/ldpath"
58+
59+
60+
export ROOT_LIBRARY_PATH="$rootlibpath"
61+
set_rootrc "$rootrcpath"
62+
get_dynpath
63+
check_begin_and_mid "$ROOT_LIBRARY_PATH" "$rootrcpath:$libdir"
64+
65+
export ROOT_LIBRARY_PATH="$rootlibpath"
66+
set_rootrc "$libdir:$rootrcpath"
67+
get_dynpath
68+
check_begin_and_mid "$ROOT_LIBRARY_PATH" "$libdir:$rootrcpath"
69+
70+
export ROOT_LIBRARY_PATH="$rootlibpath"
71+
set_rootrc ""
72+
get_dynpath
73+
check_begin_and_mid "$ROOT_LIBRARY_PATH" ".:$libdir"
74+
75+
unset ROOT_LIBRARY_PATH
76+
set_rootrc ""
77+
get_dynpath
78+
check_mid ".:$libdir"
79+
80+
81+
# #########################
82+
# with LD_LIBRARY_PATH & Co
83+
84+
if [ -n "$LD_LIBRARY_PATH" ]
85+
then
86+
LD_LIBRARY_PATH="$ldpath:$LD_LIBRARY_PATH"
87+
else
88+
export LD_LIBRARY_PATH="$ldpath"
89+
fi
90+
if [ -n "$DYLD_LIBRARY_PATH" ]
91+
then
92+
DYLD_LIBRARY_PATH="$ldpath:$DYLD_LIBRARY_PATH"
93+
else
94+
export DYLD_LIBRARY_PATH="$ldpath"
95+
fi
96+
if [ -n "$LIBPATH" ]
97+
then
98+
LIBPATH="$ldpath:$LIBPATH"
99+
else
100+
export LIBPATH="$ldpath"
101+
fi
102+
103+
104+
export ROOT_LIBRARY_PATH="$rootlibpath"
105+
set_rootrc "$rootrcpath"
106+
get_dynpath
107+
check_begin_and_mid "$ROOT_LIBRARY_PATH:$ldpath" "$rootrcpath:$libdir"
108+
109+
export ROOT_LIBRARY_PATH="$rootlibpath"
110+
set_rootrc "$libdir:$rootrcpath"
111+
get_dynpath
112+
check_begin_and_mid "$ROOT_LIBRARY_PATH:$ldpath" "$libdir:$rootrcpath"
113+
114+
export ROOT_LIBRARY_PATH="$rootlibpath"
115+
set_rootrc ""
116+
get_dynpath
117+
check_begin_and_mid "$ROOT_LIBRARY_PATH:$ldpath" ".:$libdir"
118+
119+
unset ROOT_LIBRARY_PATH
120+
set_rootrc ""
121+
get_dynpath
122+
check_begin_and_mid "$ldpath" ".:$libdir"

0 commit comments

Comments
 (0)