diff --git a/contrib/coverage.bash b/contrib/coverage.bash index 6217d310..fbf03fd4 100755 --- a/contrib/coverage.bash +++ b/contrib/coverage.bash @@ -28,12 +28,12 @@ while [[ $# -gt 0 ]]; do ;; --jobs) shift - make_args+=("-j" "$1") - runtests_args+=("--jobs" "$1") + make_args+=(-j "$1") + runtests_args+=(--jobs "$1") ;; --os) shift - runtests_args+=("--os" "$1") + runtests_args+=(--os "$1") ;; *) echo "$(basename "$0"): unknown option '$1'" diff --git a/test/asm/test.sh b/test/asm/test.sh index bf9c928f..683ae8c4 100755 --- a/test/asm/test.sh +++ b/test/asm/test.sh @@ -61,9 +61,9 @@ else fi for i in *.asm notexist.asm; do - RGBASMFLAGS="-Weverything -Bcollapse" + RGBASMFLAGS=(-Weverything -Bcollapse) if [ -f "${i%.asm}.flags" ]; then - RGBASMFLAGS="$RGBASMFLAGS @${i%.asm}.flags" + RGBASMFLAGS+=("@${i%.asm}.flags") fi for variant in '' ' piped'; do (( tests++ )) @@ -79,7 +79,7 @@ for i in *.asm notexist.asm; do desired_errname=/dev/null fi if [ -z "$variant" ]; then - "$RGBASM" $RGBASMFLAGS -o "$o" "$i" >"$output" 2>"$errput" + "$RGBASM" "${RGBASMFLAGS[@]}" -o "$o" "$i" >"$output" 2>"$errput" desired_output=$desired_outname desired_errput=$desired_errname else @@ -96,7 +96,7 @@ for i in *.asm notexist.asm; do # that's harder to deal with and was broken when the feature was # first implemented. # shellcheck disable=SC2002 - cat "$i" | "$RGBASM" $RGBASMFLAGS -o "$o" - >"$output" 2>"$errput" + cat "$i" | "$RGBASM" "${RGBASMFLAGS[@]}" -o "$o" - >"$output" 2>"$errput" # Use two otherwise unused files for temp storage desired_output="$input" @@ -162,10 +162,10 @@ done # These tests do their own thing i="invalid-source-date-epoch" -RGBASMFLAGS="-Weverything -Bcollapse" +RGBASMFLAGS=(-Weverything -Bcollapse) (( tests++ )) echo "${bold}${green}${i}...${rescolors}${resbold}" -SOURCE_DATE_EPOCH=0x1234 "$RGBASM" $RGBASMFLAGS /dev/null >"$output" 2>"$errput" +SOURCE_DATE_EPOCH=0x1234 "$RGBASM" "${RGBASMFLAGS[@]}" /dev/null >"$output" 2>"$errput" tryDiff /dev/null "$output" out our_rc=$? tryDiff invalid-source-date-epoch.err "$errput" err @@ -177,15 +177,15 @@ fi evaluateDepTest () { i="$1" - RGBASMFLAGS="-Weverything -Bcollapse -M -" + RGBASMFLAGS=(-Weverything -Bcollapse -M -) if [ -f "$i/a.flags" ]; then - RGBASMFLAGS="$RGBASMFLAGS @$i/a.flags" + RGBASMFLAGS+=("@$i/a.flags") fi # Piping the .asm file to rgbasm would not make sense for dependency generation, # so just test the normal variant (( tests++ )) echo "${bold}${green}${i}...${rescolors}${resbold}" - "$RGBASM" $RGBASMFLAGS -o "$o" "$i"/a.asm >"$output" 2>"$errput" + "$RGBASM" "${RGBASMFLAGS[@]}" -o "$o" "$i"/a.asm >"$output" 2>"$errput" fixed_output="$input" if type -t cygpath >/dev/null; then @@ -223,15 +223,15 @@ else state_outname="$o" fi state_features=" all " # Test trimming whitespace -RGBASMFLAGS="-Weverything -Bcollapse" +RGBASMFLAGS=(-Weverything -Bcollapse) for variant in '' '.pipe'; do (( tests++ )) echo "${bold}${green}${i%.asm}${variant}...${rescolors}${resbold}" if [ -z "$variant" ]; then - "$RGBASM" $RGBASMFLAGS -s "$state_features:$state_outname" "$i"/a.asm >"$output" 2>"$errput" + "$RGBASM" "${RGBASMFLAGS[@]}" -s "$state_features:$state_outname" "$i"/a.asm >"$output" 2>"$errput" else # shellcheck disable=SC2002 - cat "$i"/a.asm | "$RGBASM" $RGBASMFLAGS -s "$state_features:$state_outname" - >"$output" 2>"$errput" + cat "$i"/a.asm | "$RGBASM" "${RGBASMFLAGS[@]}" -s "$state_features:$state_outname" - >"$output" 2>"$errput" fi tryDiff /dev/null "$output" out diff --git a/test/link/test.sh b/test/link/test.sh index 0b5cdb51..ce5c8cfd 100755 --- a/test/link/test.sh +++ b/test/link/test.sh @@ -93,9 +93,9 @@ for i in *.asm; do startTest "$RGBASM" -o "$otemp" "${test}.asm" - RGBLINKFLAGS="" + RGBLINKFLAGS=() if [ -f "${test}.flags" ]; then - RGBLINKFLAGS="$RGBLINKFLAGS @${test}.flags" + RGBLINKFLAGS+=("@${test}.flags") fi # Some tests have variants depending on flags @@ -103,14 +103,14 @@ for i in *.asm; do for flag in '-d' '-t' '-w'; do if [ -f "${test}-no${flag}.out" ]; then continueTest "-no${flag}" - rgblinkQuiet $RGBLINKFLAGS -o "$gbtemp" "$otemp" 2>"$outtemp" + rgblinkQuiet "${RGBLINKFLAGS[@]}" -o "$gbtemp" "$otemp" 2>"$outtemp" tryDiff "${test}-no${flag}.out" "$outtemp" evaluateTest ran_flag=true fi if [ -f "${test}${flag}.out" ]; then continueTest "$flag" - rgblinkQuiet $RGBLINKFLAGS ${flag} -o "$gbtemp" "$otemp" 2>"$outtemp" + rgblinkQuiet "${RGBLINKFLAGS[@]}" ${flag} -o "$gbtemp" "$otemp" 2>"$outtemp" tryDiff "${test}${flag}.out" "$outtemp" evaluateTest ran_flag=true @@ -125,7 +125,7 @@ for i in *.asm; do [[ -e "$script" ]] || break # If the glob doesn't match, it just... doesn't expand! continueTest "${script#${test}}" - rgblinkQuiet $RGBLINKFLAGS -l "$script" -o "$gbtemp" "$otemp" 2>"$outtemp" + rgblinkQuiet "${RGBLINKFLAGS[@]}" -l "$script" -o "$gbtemp" "$otemp" 2>"$outtemp" tryDiff "${script%.link}.out" "$outtemp" evaluateTest ran_flag=true @@ -136,7 +136,7 @@ for i in *.asm; do # The rest of the tests just links a file, and maybe checks the binary continueTest - rgblinkQuiet $RGBLINKFLAGS -o "$gbtemp" "$otemp" 2>"$outtemp" + rgblinkQuiet "${RGBLINKFLAGS[@]}" -o "$gbtemp" "$otemp" 2>"$outtemp" tryDiff "${test}.out" "$outtemp" bin=${test}.out.bin if [ -f "$bin" ]; then