scripts/valgrind-wrapper.sh
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 15 Nov 2012 07:17:48 +0100
changeset 1179 f6f6896a4724
permissions -rwxr-xr-x
Ensure strongly polynomial running time for CycleCanceling (#436)
The number of iterations performed by Howard's algorithm is limited.
If the limit is reached, a strongly polynomial implementation,
HartmannOrlinMmc is executed to find a minimum mean cycle.
This iteration limit is typically not reached, thus the combined
method is practically equivalent to Howard's algorithm, while it
also ensures the strongly polynomial time bound.
ladanyi@840
     1
#!/bin/sh
ladanyi@840
     2
ladanyi@840
     3
# Run in valgrind, with leak checking enabled
ladanyi@840
     4
ladanyi@840
     5
valgrind -q --leak-check=full "$@" 2> .valgrind-log
ladanyi@840
     6
ladanyi@840
     7
# Save the test result
ladanyi@840
     8
ladanyi@840
     9
result="$?"
ladanyi@840
    10
ladanyi@840
    11
# Valgrind should generate no error messages
ladanyi@840
    12
ladanyi@840
    13
log_contents="`cat .valgrind-log`"
ladanyi@840
    14
ladanyi@840
    15
if [ "$log_contents" != "" ]; then
ladanyi@840
    16
        cat .valgrind-log >&2
ladanyi@840
    17
        result=1
ladanyi@840
    18
fi
ladanyi@840
    19
ladanyi@840
    20
rm -f .valgrind-log
ladanyi@840
    21
ladanyi@840
    22
exit $result