Modifications : etc/sv/openerp7_burette/run - +casabicicleta
[lhc/ateliers.git] / lib / log.sh
1 export TERM=${TERM:-linux}
2 readonly tput_rev=${nocolor:-$(tput rev)}
3 readonly tput_sgr0=${nocolor:-$(tput sgr0)}
4 readonly tput_bold=${nocolor:-$(tput bold)}
5 readonly tput_setaf_0=${nocolor:-$(tput setaf 0)}
6 readonly tput_setaf_1=${nocolor:-$(tput setaf 1)}
7 readonly tput_setaf_2=${nocolor:-$(tput setaf 2)}
8 readonly tput_setaf_3=${nocolor:-$(tput setaf 3)}
9
10 info () {
11 local -
12 set +x
13 printf >&2 "%sINFO%s" "$tput_setaf_2" "$tput_sgr0"
14 local comment="$1"
15 shift
16 local var
17 for var in "$@"
18 do
19 local val="$(eval printf %s "\"\${$var:-}\"" || false)" || false
20 printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_rev" "$val" "$tput_sgr0"
21 done
22 printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0"
23 }
24 error () {
25 local -
26 set +x
27 printf >&2 "%sERROR%s" "$tput_setaf_1" "$tput_sgr0"
28 local errno="$1"
29 local comment="$2"
30 shift 2
31 local var
32 for var in "$@"
33 do
34 local val="$(eval printf %s "\"\${$var:-}\"" || false)" || false
35 printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0"
36 done
37 printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0"
38 exit $errno
39 }
40 assert () {
41 local -
42 set +x
43 local eval="$1"; shift
44 local type="assertion failure"
45 eval "$eval" ||
46 error $? "$eval" type "$@"
47 }