Skip to content

Commit

Permalink
shellcheck fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
martin-schulze-vireso committed Aug 25, 2022
1 parent ecb82ac commit 5dcfdb9
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 8 deletions.
1 change: 1 addition & 0 deletions lib/bats-core/common.bash
Expand Up @@ -182,6 +182,7 @@ bats_any_in() { # <sorted-array> <sorted search values>

bats_trim () { # <output-variable> <string>
local -r bats_trim_ltrimmed=${2#"${2%%[![:space:]]*}"} # cut off leading whitespace
# shellcheck disable=SC2034 # used in eval!
local -r bats_trim_trimmed=${bats_trim_ltrimmed%"${bats_trim_ltrimmed##*[![:space:]]}"} # cut off trailing whitespace
eval "$1=\$bats_trim_trimmed"
}
Expand Down
3 changes: 3 additions & 0 deletions libexec/bats-core/bats-preprocess
Expand Up @@ -37,6 +37,7 @@ BATS_COMMENT_COMMAND_PATTERN="^[[:blank:]]*#[[:blank:]]*bats[[:blank:]]+(.*)$"
BATS_VALID_TAG_PATTERN="[-_:[:alnum:]]+"
BATS_VALID_TAGS_PATTERN="^ *($BATS_VALID_TAG_PATTERN)?( *, *$BATS_VALID_TAG_PATTERN)* *$"

# shellcheck source=lib/bats-core/common.bash
source "$BATS_ROOT/lib/bats-core/common.bash"

extract_tags() { # <tag_type/return_var> <tags-string>
Expand Down Expand Up @@ -70,6 +71,7 @@ extract_tags() { # <tag_type/return_var> <tags-string>
test_file="$1"
tests=()
test_tags=()
# shellcheck disable=SC2034 # used in `bats_sort tags`/`extract_tags``
file_tags=()
line_number=0
exit_code=0
Expand All @@ -91,6 +93,7 @@ exit_code=0
IFS=,
tests+=("--tags '${tags[*]-}' $encoded_name")
fi
# shellcheck disable=SC2034 # used in `bats_sort tags`/`extract_tags`
test_tags=() # reset test tags for next test
else
if [[ "$line" =~ $BATS_COMMENT_COMMAND_PATTERN ]]; then
Expand Down
24 changes: 16 additions & 8 deletions test/common.bats
Expand Up @@ -72,33 +72,35 @@
}

@test bats_sort {
local -a empty one_element two_sorted two_elements_reversed three_elements_scrambled

bats_sort empty
echo "empty(${#empty[@]}): ${empty[*]}"
[ ${#empty[@]} -eq 0 ]

bats_sort one_element 1
echo "one_element(${#one_element[@]}): ${one_element[*]}"
[ ${#one_element[@]} -eq 1 ]
[ ${one_element[0]} = 1 ]
[ "${one_element[0]}" = 1 ]

bats_sort two_sorted 1 2
echo "two_sorted(${#two_sorted[@]}): ${two_sorted[*]}"
[ ${#two_sorted[@]} -eq 2 ]
[ ${two_sorted[0]} = 1 ]
[ ${two_sorted[1]} = 2 ]
[ "${two_sorted[0]}" = 1 ]
[ "${two_sorted[1]}" = 2 ]

bats_sort two_elements_reversed 2 1
echo "two_elements_reversed(${#two_elements_reversed[@]}): ${two_elements_reversed[*]}"
[ ${#two_elements_reversed[@]} -eq 2 ]
[ ${two_elements_reversed[0]} = 1 ]
[ ${two_elements_reversed[1]} = 2 ]
[ "${two_elements_reversed[0]}" = 1 ]
[ "${two_elements_reversed[1]}" = 2 ]

bats_sort three_elements_scrambled 2 1 3
echo "three_elements_scrambled(${#three_elements_scrambled[@]}): ${three_elements_scrambled[*]}"
[ ${#three_elements_scrambled[@]} -eq 3 ]
[ ${three_elements_scrambled[0]} = 1 ]
[ ${three_elements_scrambled[1]} = 2 ]
[ ${three_elements_scrambled[2]} = 3 ]
[ "${three_elements_scrambled[0]}" = 1 ]
[ "${three_elements_scrambled[1]}" = 2 ]
[ "${three_elements_scrambled[2]}" = 3 ]
}

@test bats_all_in {
Expand Down Expand Up @@ -129,6 +131,7 @@
@test bats_any_in {
bats_require_minimum_version 1.5.0

# shellcheck disable=SC2030,SC2034
local -ra empty=() one=(1) onetwo=(1 2)
# empty search set is always false
run -1 bats_any_in empty
Expand All @@ -153,7 +156,9 @@
}

@test bats_trim {
local empty already_trimmed trimmed whitespaces_within
bats_trim empty ""
# shellcheck disable=SC2031
[ "${empty-NOTSET}" = "" ]

bats_trim already_trimmed "abc"
Expand All @@ -178,17 +183,20 @@
run -1 bats_append_arrays_as_args --
[ "${lines[0]}" == "Error: append_arrays_as_args is missing a command or -- separator" ]

# shellcheck disable=SC2034
empty=()
run -0 bats_append_arrays_as_args empty -- count_and_print_args
[ "${lines[0]}" == '0 ' ]

run -0 bats_append_arrays_as_args -- count_and_print_args
[ "${lines[0]}" == '0 ' ]

# shellcheck disable=SC2034
arr=(a)
run -0 bats_append_arrays_as_args arr -- count_and_print_args
[ "${lines[0]}" == '1 a' ]

# shellcheck disable=SC2034
arr2=(b)
run -0 bats_append_arrays_as_args arr arr2 -- count_and_print_args
[ "${lines[0]}" == '2 a b' ]
Expand Down

0 comments on commit 5dcfdb9

Please sign in to comment.