[lttng-dev] [PATCH] runtests: Make path of time binary configurable
Simon Marchi
simon.marchi at polymtl.ca
Wed Nov 14 23:24:45 EST 2012
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>
---
tests/common.sh | 13 +++++++++++++
tests/runtests-batch.sh | 15 +++++++++++++--
tests/runtests.sh | 15 +++++++++++++--
3 files changed, 39 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..a321bf2
--- /dev/null
+++ b/tests/common.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# 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
More information about the lttng-dev
mailing list