[lttng-dev] [PATCH urcu v2] runtests: Make path of time binary configurable
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Thu Nov 15 09:32:18 EST 2012
* Simon Marchi (simon.marchi at polymtl.ca) 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 <simon.marchi at polymtl.ca>
Merged with edit:
commit fce9a534217cc39db50bb546f2521cc4321df197
Author: Simon Marchi <simon.marchi at polymtl.ca>
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 <simon.marchi at polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
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
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list