@@ -33,6 +33,36 @@ run_log_script() {
3333 run " $TEST_GO_SCRIPT "
3434}
3535
36+ # Format a `log` module log level label
37+ #
38+ # Note that this must be called before any other log assertion, because it needs
39+ # to set _GO_LOG_FORMATTING before importing the `log` module.
40+ #
41+ # Arguments:
42+ # label: Log level label to format
43+ format_log_label () {
44+ local label=" $1 "
45+
46+ if [[ -n " $__GO_LOG_INIT " ]]; then
47+ local err_format=(" \` %s\` must be called before any other function"
48+ " or assertion that calls \` . \"\$ _GO_USE_MODULES\" 'log'\` "
49+ ' because it needs to set `_GO_LOG_FORMATTING`.' )
50+ printf " ${err_format[*]} " " $FUNCNAME " >&2
51+ exit 1
52+ fi
53+
54+ _GO_LOG_FORMATTING=' true'
55+ . " $_GO_USE_MODULES " ' log'
56+ _@go.log_init
57+
58+ local __go_log_level_index=0
59+ if ! _@go.log_level_index " $label " ; then
60+ printf ' Unknown log level label: %s\n' " $label " >&2
61+ exit 1
62+ fi
63+ printf ' %s' " ${__GO_LOG_LEVELS_FORMATTED[$__go_log_level_index]} "
64+ }
65+
3666assert_log_equals () {
3767 set " $BATS_ASSERTION_DISABLE_SHELL_OPTIONS "
3868 local level
@@ -84,30 +114,6 @@ assert_log_file_equals() {
84114 fi
85115}
86116
87- # Note that this must be called before any other log assertion, because it needs
88- # to set _GO_LOG_FORMATTING before importing the `log` module.
89- format_label () {
90- local label=" $1 "
91-
92- if [[ -n " $__GO_LOG_INIT " ]]; then
93- echo " $FUNCNAME must be called before any other function or assertion" \
94- " that calls \` . \$ _GO_USE_MODULES 'log'\` because it needs to set" \
95- " \` _GO_LOG_FORMATTING\` ." >&2
96- return 1
97- fi
98-
99- _GO_LOG_FORMATTING=' true'
100- . " $_GO_USE_MODULES " ' log'
101- _@go.log_init
102-
103- local __go_log_level_index=0
104- if ! _@go.log_level_index " $label " ; then
105- echo " Unknown log level label: $label " >&2
106- return 1
107- fi
108- echo " ${__GO_LOG_LEVELS_FORMATTED[$__go_log_level_index]} "
109- }
110-
111117# Creates `LOG_COMMAND_STACK_TRACE_ITEMS` to help validate stack trace output.
112118#
113119# Call this before using "${LOG_COMMAND_STACK_TRACE_ITEMS[@]}" to inject
@@ -170,5 +176,3 @@ __expected_log_line() {
170176 printf ' %b\n' " $level $message "
171177 fi
172178}
173-
174-
0 commit comments