Skip to content

Instantly share code, notes, and snippets.

@prisis prisis/
Last active Feb 15, 2019

What would you like to do?
tfold is a helper to create folded reports on travis
#!/usr/bin/env bash
# How to use:
# And add it to your bash file
# source ./
# tfold "fold name" "command to execute"
nanoseconds() {
local cmd="date"
local format="+%s%N"
local os=$(uname)
if hash gdate > /dev/null 2>&1; then
elif [[ "$os" = Darwin ]]; then
$cmd -u $format
# Arguments:
# $1 fold name
# $2 command to execute
tfold () {
local title=$1
local fold=$(echo "$title" | sed -r 's/[^-_A-Za-z\d]+/./g')
local id=$(printf %08x $(( RANDOM * RANDOM )))
local start=$(nanoseconds)
echo -e "travis_fold:start:$fold"
echo -e "travis_time:start:$id"
echo -e "\\e[1;34m$title\\e[0m"
bash -xc "$*" 2>&1
local ok=$?
local end=$(nanoseconds)
echo -e "\\ntravis_time:end:$id:start=$start,finish=$end,duration=$(($end-$start))"
(exit $ok) &&
echo -e "\\e[32mOK\\e[0m $title\\n\\ntravis_fold:end:$fold" ||
echo -e "\\e[41mKO\\e[0m $title\\n"
(exit $ok)
export -f nanoseconds;
export -f tfold;

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.