* Simon Marchi ([email protected]) wrote: > I work on a platform that does not come with a time program. This patch > makes it possible to specify the path of the time binary or not use it > if none is available. > > If the URCU_TEST_TIME_BIN environment variable exists and is executable, > it is used. Otherwise it tries with /usr/bin/time, the most common > location. If it is not there, the tests are ran without timing info. > > Signed-off-by: Simon Marchi <[email protected]>
Merged with edit: commit fce9a534217cc39db50bb546f2521cc4321df197 Author: Simon Marchi <[email protected]> Date: Thu Nov 15 09:29:42 2012 -0500 runtests: Make path of time binary configurable I work on a platform that does not come with a time program. This patch makes it possible to specify the path of the time binary or not use it if none is available. If the URCU_TEST_TIME_BIN environment variable exists and is executable, it is used. Otherwise it tries with /usr/bin/time, the most common location. If it is not there, the tests are ran without timing info. [ Edit by Mathieu Desnoyers: use "." instead of "source" (no bash-ism), edit commit about check for emptiness vs definition to match the code. ] Signed-off-by: Simon Marchi <[email protected]> Signed-off-by: Mathieu Desnoyers <[email protected]> Thanks, Mathieu > --- > > New in v2: removed #!/bin/sh at top of common.sh. > > tests/common.sh | 12 ++++++++++++ > tests/runtests-batch.sh | 15 +++++++++++++-- > tests/runtests.sh | 15 +++++++++++++-- > 3 files changed, 38 insertions(+), 4 deletions(-) > create mode 100755 tests/common.sh > > diff --git a/tests/common.sh b/tests/common.sh > new file mode 100755 > index 0000000..9eb03f8 > --- /dev/null > +++ b/tests/common.sh > @@ -0,0 +1,12 @@ > +# > +# This file is meant to be sourced from other tests scripts. > +# > + > +if [ -x "$URCU_TEST_TIME_BIN" ]; then > + test_time_bin="$URCU_TEST_TIME_BIN" > +elif [ -x "/usr/bin/time" ]; then > + test_time_bin="/usr/bin/time" > +else > + test_time_bin="" > +fi > + > diff --git a/tests/runtests-batch.sh b/tests/runtests-batch.sh > index 6c2340d..222069c 100755 > --- a/tests/runtests-batch.sh > +++ b/tests/runtests-batch.sh > @@ -1,8 +1,19 @@ > #!/bin/sh > > +source "./common.sh" > + > +log_file="runall.detail.log" > + > +# Check if time bin is defined > +if [ -n "$test_time_bin" ]; then > + time_command="$test_time_bin -a -o $log_file" > +else > + time_command="" > +fi > + > #for a in test_urcu_gc test_urcu_gc_mb test_urcu_qsbr_gc; do > for a in test_urcu_gc; do > - echo "./${a} $*" | tee -a runall.detail.log > - /usr/bin/time -a -o runall.detail.log ./${a} $* > + echo "./${a} $*" | tee -a "$log_file" > + $time_command ./${a} $* > done > > diff --git a/tests/runtests.sh b/tests/runtests.sh > index 79e54df..b3d3dc2 100755 > --- a/tests/runtests.sh > +++ b/tests/runtests.sh > @@ -1,10 +1,21 @@ > #!/bin/sh > > +source "./common.sh" > + > +log_file="runall.detail.log" > + > +# Check if time bin is defined > +if [ -n "$test_time_bin" ]; then > + time_command="$test_time_bin -a -o $log_file" > +else > + time_command="" > +fi > + > for a in test_urcu_gc test_urcu_signal_gc test_urcu_mb_gc test_urcu_qsbr_gc \ > test_urcu_lgc test_urcu_signal_lgc test_urcu_mb_lgc test_urcu_qsbr_lgc \ > test_urcu test_urcu_signal test_urcu_mb test_urcu_qsbr \ > test_rwlock test_perthreadlock test_mutex; do > - echo "./${a} $*" | tee -a runall.detail.log > - /usr/bin/time -a -o runall.detail.log ./${a} $* > + echo "./${a} $*" | tee -a "$log_file" > + $time_command ./${a} $* > done > > -- > 1.7.1 > > > _______________________________________________ > lttng-dev mailing list > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
