aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/testsuite.sh
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/testsuite.sh')
-rwxr-xr-xtestsuite/testsuite.sh53
1 files changed, 45 insertions, 8 deletions
diff --git a/testsuite/testsuite.sh b/testsuite/testsuite.sh
index 797e733eb..ae6b7f54f 100755
--- a/testsuite/testsuite.sh
+++ b/testsuite/testsuite.sh
@@ -34,20 +34,57 @@ gend () {
:
}
-[ -n "$CI" ] && {
- echo "INFO: set 'gstart' and 'gend' for CI"
+if [ -n "$TRAVIS" ]; then
+ echo "INFO: set 'gstart' and 'gend' for TRAVIS"
+ # This is a trimmed down copy of https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/bash/*
+ travis_time_start() {
+ # `date +%N` returns the date in nanoseconds. It is used as a replacement for $RANDOM, which is only available in bash.
+ travis_timer_id=`date +%N`
+ travis_start_time=$(travis_nanoseconds)
+ echo "travis_time:start:$travis_timer_id"
+ }
+ travis_time_finish() {
+ travis_end_time=$(travis_nanoseconds)
+ local duration=$(($travis_end_time-$travis_start_time))
+ echo "travis_time:end:$travis_timer_id:start=$travis_start_time,finish=$travis_end_time,duration=$duration"
+ }
+
+ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
+ travis_nanoseconds() {
+ date -u '+%s000000000'
+ }
+ else
+ travis_nanoseconds() {
+ date -u '+%s%N'
+ }
+ fi
+
gstart () {
- printf '::[group]'
+ echo "travis_fold:start:group"
+ travis_time_start
print_start "$@"
- SECONDS=0
}
gend () {
- duration=$SECONDS
- echo '::[endgroup]'
- printf "${ANSI_GRAY}took $(($duration / 60)) min $(($duration % 60)) sec.${ANSI_NOCOLOR}\n"
+ travis_time_finish
+ echo "travis_fold:end:group"
}
-} || echo "INFO: not in CI"
+else
+ if [ -n "$CI" ]; then
+ echo "INFO: set 'gstart' and 'gend' for CI"
+ gstart () {
+ printf '::group::'
+ print_start "$@"
+ SECONDS=0
+ }
+
+ gend () {
+ duration=$SECONDS
+ echo '::endgroup::'
+ printf "${ANSI_GRAY}took $(($duration / 60)) min $(($duration % 60)) sec.${ANSI_NOCOLOR}\n"
+ }
+ fi
+fi
#---