From fce9a534217cc39db50bb546f2521cc4321df197 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 15 Nov 2012 09:29:42 -0500 Subject: [PATCH] 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 Signed-off-by: Mathieu Desnoyers --- tests/common.sh | 12 ++++++++++++ tests/runtests-batch.sh | 15 +++++++++++++-- tests/runtests.sh | 15 +++++++++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 tests/common.sh diff --git a/tests/common.sh b/tests/common.sh new file mode 100644 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..2da1401 100755 --- a/tests/runtests-batch.sh +++ b/tests/runtests-batch.sh @@ -1,8 +1,19 @@ #!/bin/sh +. ./common.sh + +log_file="runall.detail.log" + +# Check if time bin is non-empty +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..6001174 100755 --- a/tests/runtests.sh +++ b/tests/runtests.sh @@ -1,10 +1,21 @@ #!/bin/sh +. ./common.sh + +log_file="runall.detail.log" + +# Check if time bin is non-empty +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 -- 2.34.1