Skip to content

Commit 463184a

Browse files
committed
Refactor commonalities between setenv and putenv tests
1 parent 3fb00d3 commit 463184a

File tree

1 file changed

+27
-36
lines changed

1 file changed

+27
-36
lines changed

Utilities/ReleaseScripts/test/gdb/test-cmsTraceFunction-setenv.sh

Lines changed: 27 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,35 @@
22

33
TRACE="cmsTraceFunction --startAfterFunction ScheduleItems::initMisc setenv -f putenv --abort"
44

5-
# Check setenv
6-
g++ -o test-cmsTraceFunction-setenv $(dirname $0)/test-cmsTraceFunction-setenv.cpp
7-
set +e
8-
$TRACE ./test-cmsTraceFunction-setenv 2>&1 > setenv_raw.log
9-
ret_setenv=$?
10-
set -e
11-
grep setenv setenv_raw.log > setenv.log
12-
#rm -f test-cmsTraceFunction-setenv
5+
check_func() {
6+
local func_name="$1"
7+
local src_name="$2"
8+
local exe_name="test-cmsTraceFunction-${func_name}"
9+
local raw_log="${func_name}_raw.log"
10+
local log="${func_name}.log"
1311

14-
if [ ${ret_setenv} = 0 ]; then
15-
echo "cmsTraceFunction exited with exit code 0, expected non-zero exit code"
16-
exit 1
17-
fi
12+
g++ -o "$exe_name" "$(dirname $0)/$src_name"
13+
set +e
14+
$TRACE ./$exe_name 2>&1 > "$raw_log"
15+
local ret=$?
16+
set -e
17+
grep "$func_name" "$raw_log" > "$log"
1818

19-
setenv_count=$(grep -c '^setenv() called' setenv.log)
20-
break_setenv=$(grep -c 'Breakpoint .* in setenv ()' setenv.log)
21-
if [ ${setenv_count} != 1 ] || [ ${break_setenv} != 1 ] ; then
22-
echo "Unexpected number of setenv calls ${setenv_count} or breakpoints ${break_setenv}; expecting both to be 1"
23-
exit 1
24-
fi
19+
if [ ${ret} = 0 ]; then
20+
echo "cmsTraceFunction exited with exit code 0, expected non-zero exit code"
21+
exit 1
22+
fi
2523

26-
# Check putenv
27-
g++ -o test-cmsTraceFunction-putenv $(dirname $0)/test-cmsTraceFunction-putenv.cpp
28-
set +e
29-
$TRACE ./test-cmsTraceFunction-putenv 2>&1 > putenv_raw.log
30-
ret_putenv=$?
31-
set -e
32-
grep putenv putenv_raw.log > putenv.log
33-
rm -f test-cmsTraceFunction-putenv
24+
local call_count=$(grep -c "^${func_name}() called" "$log")
25+
local break_count=$(grep -c "Breakpoint .* in ${func_name} ()" "$log")
26+
if [ ${call_count} != 1 ] || [ ${break_count} != 1 ] ; then
27+
echo "Unexpected number of ${func_name} calls ${call_count} or breakpoints ${break_count}; expecting both to be 1"
28+
exit 1
29+
fi
30+
}
3431

35-
if [ ${ret_puttenv} = 0 ]; then
36-
echo "cmsTraceFunction exited with exit code 0, expected non-zero exit code"
37-
exit 1
38-
fi
32+
# Check setenv
33+
check_func "setenv" "test-cmsTraceFunction-setenv.cpp"
3934

40-
putenv_count=$(grep -c '^putenv() called' putenv.log)
41-
break_putenv=$(grep -c 'Breakpoint .* in putenv ()' putenv.log)
42-
if [ ${putenv_count} != 1 ] || [ ${break_tenv} != 1 ] ; then
43-
echo "Unexpected number of putenv calls ${putenv_count} or breakpoints ${break_putenv}; expecting both to be 1"
44-
exit 1
45-
fi
35+
# Check putenv
36+
check_func "putenv" "test-cmsTraceFunction-putenv.cpp"

0 commit comments

Comments
 (0)