8000 [travis] Add timing info · symfony/symfony@7abefe5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7abefe5

Browse files
[travis] Add timing info
1 parent 2e286f8 commit 7abefe5

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

.travis.yml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,39 @@ before_install:
5151
export PHPUNIT_X="$PHPUNIT --exclude-group tty,benchmark,intl-data"
5252
export COMPOSER_UP='composer update --no-progress --no-suggest --ansi'
5353
54+
nanoseconds() {
55+
local cmd="date"
56+
local format="+%s%N"
57+
local os=$(uname)
58+
if hash gdate > /dev/null 2>&1; then
59+
cmd="gdate"
60+
elif [[ "$os" = Darwin ]]; then
61+
format="+%s000000000"
62+
fi
63+
$cmd -u $format
64+
}
65+
export -f nanoseconds
66+
5467
# tfold is a helper to create folded reports
5568
tfold () {
56-
title=$1
57-
fold=$(echo $title | sed -r 's/[^-_A-Za-z\d]+/./g')
69+
local title=$1
70+
local fold=$(echo $title | sed -r 's/[^-_A-Za-z0-9]+/./g')
5871
shift
59-
echo -e "travis_fold:start:$fold\\n\\e[1;34m$title\\e[0m"
60-
bash -xc "$*" 2>&1 &&
61-
echo -e "\\e[32mOK\\e[0m $title\\n\\ntravis_fold:end:$fold" ||
62-
( echo -e "\\e[41mKO\\e[0m $title\\n" && exit 1 )
72+
local id=$(printf %08x $(( RANDOM * RANDOM )))
73+
local start=$(nanoseconds)
74+
echo -en "travis_fold:start:$fold\\r\\033[0K"
75+
echo -en "travis_time:start:$id\\r\\033[0K"
76+
echo -en "\\e[1;34m$title\\e[0m\\r\\033[0K"
77+
78+
bash -xc "$*" 2>&1
79+
local ok=$?
80+
local end=$(nanoseconds)
81+
echo -en "\\ntravis_time:end:$id:start=$start,finish=$end,duration=$(($end-$start))\\r\\033[0K"
82+
(exit $ok) &&
83+
echo -en "\\e[32mOK\\e[0m $title\\n\\ntravis_fold:end:$fold" ||
84+
echo -en "\\e[41mKO\\e[0m $title\\n"
85+
echo -en "\\r\\033[0K"
86+
(exit $ok)
6387
}
6488
export -f tfold
6589

0 commit comments

Comments
 (0)
0