update scripts
[tsan11-tsan11rec-docker.git] / scripts / app_assertion_test.sh
1 #!/bin/bash
2   
3 MABAINLIB="../src"
4 MABAINDIR="mabain/examples"
5
6 TESTS="silo mabain"
7
8 TOTAL_RUN=$1
9
10 if [ -z "$1" ]; then
11         TOTAL_RUN=10
12 fi
13
14 function run_silo_test {
15         COUNT_ASSERT=0
16         EXE='./dbtest --verbose -t 5'
17
18         cd 'silo/out-perf.debug.check.masstree/benchmarks/'
19         for i in `seq 1 1 $TOTAL_RUN`
20         do
21                 OUTPUT="$($EXE 2>&1)"
22                 ASSERT="$(echo "$OUTPUT" | grep "Assert")"
23                 if [ -n "$ASSERT" ] ; then
24                         ((++COUNT_ASSERT))
25                 fi
26         done
27
28         cd ../../..
29
30         AVG_ASSERT=$(echo "${COUNT_ASSERT} * 100 / ${TOTAL_RUN}" | bc -l | xargs printf "%.1f")
31         echo "Runs: ${TOTAL_RUN} | Assertions: ${COUNT_ASSERT} | Assertion rate: ${AVG_ASSERT}%"
32 }
33
34 function run_mabain_test {
35         export LD_LIBRARY_PATH="${MABAINLIB}"
36
37         COUNT_ASSERT=0
38         EXE='./mb_multi_thread_insert_test_assert'
39
40         cd ${MABAINDIR}
41         for i in `seq 1 1 $TOTAL_RUN`
42         do
43                 OUTPUT="$(/usr/bin/time -f "time: %E" $EXE 2>&1)"
44                 ASSERT="$(echo "$OUTPUT" | grep "Assert")"
45                 if [ -n "$ASSERT" ] ; then
46                         ((++COUNT_ASSERT))
47                 fi
48
49                 rm ./multi_test/* 2> /dev/null
50         done
51
52         cd ../..
53
54         AVG_ASSERT=$(echo "${COUNT_ASSERT} * 100 / ${TOTAL_RUN}" | bc -l | xargs printf "%.1f")
55         echo "Runs: ${TOTAL_RUN} | Assertions: ${COUNT_ASSERT} | Assertion rate: ${AVG_ASSERT}%"
56 }
57
58 echo "** Assertion test for some application benchmarks: ${TESTS} **"
59 for t in ${TESTS}
60 do
61         echo -n "${t} "
62         run_${t}_test
63 done