scripts/valgrind-wrapper.sh
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 15 Nov 2012 07:17:48 +0100
changeset 1013 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@793
     1
#!/bin/sh
ladanyi@793
     2
ladanyi@793
     3
# Run in valgrind, with leak checking enabled
ladanyi@793
     4
ladanyi@793
     5
valgrind -q --leak-check=full "$@" 2> .valgrind-log
ladanyi@793
     6
ladanyi@793
     7
# Save the test result
ladanyi@793
     8
ladanyi@793
     9
result="$?"
ladanyi@793
    10
ladanyi@793
    11
# Valgrind should generate no error messages
ladanyi@793
    12
ladanyi@793
    13
log_contents="`cat .valgrind-log`"
ladanyi@793
    14
ladanyi@793
    15
if [ "$log_contents" != "" ]; then
ladanyi@793
    16
        cat .valgrind-log >&2
ladanyi@793
    17
        result=1
ladanyi@793
    18
fi
ladanyi@793
    19
ladanyi@793
    20
rm -f .valgrind-log
ladanyi@793
    21
ladanyi@793
    22
exit $result