|
2 | 2 |
|
3 | 3 | TRACE="cmsTraceFunction --startAfterFunction ScheduleItems::initMisc setenv -f putenv --abort" |
4 | 4 |
|
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" |
13 | 11 |
|
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" |
18 | 18 |
|
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 |
25 | 23 |
|
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 | +} |
34 | 31 |
|
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" |
39 | 34 |
|
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