File tree Expand file tree Collapse file tree 3 files changed +82
-0
lines changed Expand file tree Collapse file tree 3 files changed +82
-0
lines changed Original file line number Diff line number Diff line change @@ -186,3 +186,25 @@ core.shopt_pop() {
186
186
187
187
___global_shopt_stack___=(" ${___global_shopt_stack___[@]:: ${# ___global_shopt_stack___[@]} -2} " )
188
188
}
189
+
190
+ # Variables not checked: 'MAKE_TERMOUT', 'MAKE_TERMERR'
191
+
192
+ # TODO: 'COLORTERM'
193
+ core.should_color_output () {
194
+ # https://no-color.org
195
+ if [[ -v NO_COLOR ]]; then
196
+ return 1
197
+ fi
198
+
199
+ # 0 => 2 colors
200
+ # 1 => 16 colors
201
+ # 2 => 256 colors
202
+ # 3 => 16,777,216 colors
203
+ if [[ -v FORCE_COLOR ]]; then
204
+ return 0
205
+ fi
206
+
207
+ if [[ $TERM == dumb ]]; then
208
+ return 0
209
+ fi
210
+ }
Original file line number Diff line number Diff line change
1
+ # TODO: deprecate public/bash-error.sh
2
+
3
+ core.err_set () {
4
+ if (( $# == 1 )) ; then
5
+ ERRCODE=1
6
+ ERR=" $1 "
7
+ elif (( $# == 2 )) ; then
8
+ ERRCODE=" $1 "
9
+ ERR=" $2 "
10
+ else
11
+ printf ' %s\n' " Error: bash-error: Incorrect function arguments"
12
+ return 1
13
+ fi
14
+
15
+ if [ -z " $ERR " ]; then
16
+ printf ' %s\n' " Error: bash-error: Argument for 'ERR' cannot be empty"
17
+ return 1
18
+ fi
19
+ }
20
+
21
+ core.err_clear () {
22
+ ERRCODE=
23
+ ERR=
24
+ }
25
+
26
+ core.err_exists () {
27
+ if [ -z " $ERR " ]; then
28
+ return 1
29
+ else
30
+ return 0
31
+ fi
32
+ }
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bats
2
+
3
+ load ' ./util/init.sh'
4
+
5
+ @test " core.err_exists works when set" {
6
+ # Function sets error when it fails
7
+ core.err_set 1 " Failed to eat grass"
8
+
9
+ # Callsite notices failure, and checks error
10
+ core.err_exists
11
+ }
12
+
13
+ @test " core.err_exists works when not set 1" {
14
+ ! core.err_exists
15
+ }
16
+
17
+ @test " core.err_exists works when not set 2" {
18
+ core.err_clear
19
+
20
+ ! core.err_exists
21
+ }
22
+
23
+ @test " core.err_set sets variables correctly" {
24
+ core.err_set 2 " value_woof"
25
+
26
+ [ " $ERRCODE " = 2 ]
27
+ [ " $ERR " = ' value_woof' ]
28
+ }
You can’t perform that action at this time.
0 commit comments