tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 89f52f36e0b50c16072ca2d2ebc27cd473609c6e
parent 23ff60c1509b005ad1fca758a8fa0745008ba22d
Author: teor <teor@torproject.org>
Date:   Wed,  6 Nov 2019 21:29:18 +1000

Merge remote-tracking branch 'tor-github/pr/1510'

Diffstat:
Achanges/bug32402 | 3+++
Achanges/bug32402_git_scripts | 3+++
Mscripts/git/git-merge-forward.sh | 2+-
Mscripts/git/git-pull-all.sh | 2+-
Mscripts/git/git-push-all.sh | 30++++++++++++++++++------------
Mscripts/git/git-setup-dirs.sh | 6++++--
Mscripts/maint/checkShellScripts.sh | 6+-----
Msrc/test/test_parseconf.sh | 4++--
8 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/changes/bug32402 b/changes/bug32402 @@ -0,0 +1,3 @@ + o Minor bugfixes (shellcheck): + - Start checking most scripts for shellcheck errors again. + Fixes bug 32402; bugfix on 0.4.2.1-alpha. diff --git a/changes/bug32402_git_scripts b/changes/bug32402_git_scripts @@ -0,0 +1,3 @@ + o Minor bugfixes (shellcheck): + - Fix minor shellcheck errors in the git-*.sh scripts. + Fixes bug 32402; bugfix on 0.4.2.1-alpha. diff --git a/scripts/git/git-merge-forward.sh b/scripts/git/git-merge-forward.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -SCRIPT_NAME=`basename $0` +SCRIPT_NAME=$(basename "$0") function usage() { diff --git a/scripts/git/git-pull-all.sh b/scripts/git/git-pull-all.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -SCRIPT_NAME=`basename $0` +SCRIPT_NAME=$(basename "$0") function usage() { diff --git a/scripts/git/git-push-all.sh b/scripts/git/git-push-all.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -SCRIPT_NAME=`basename $0` +SCRIPT_NAME=$(basename "$0") function usage() { @@ -257,7 +257,7 @@ if [ "$PUSH_SAME" -eq 0 ]; then fi done if [ "$SKIP_UPSTREAM" ]; then - printf "Skipping unchanged: %s matching remote: %s\n" \ + printf "Skipping unchanged: %s matching remote: %s\\n" \ "$b" "$SKIP_UPSTREAM" else if [ "$NEW_PUSH_BRANCHES" ]; then @@ -287,32 +287,38 @@ if [ "$PUSH_DELAY" -le 0 ]; then $GIT_PUSH "$@" "$UPSTREAM_REMOTE" $PUSH_BRANCHES else # Push the branches in optimal CI order, with a delay between each push - PUSH_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\n" | sort -V) - MASTER_BRANCH=$(echo "$PUSH_BRANCHES" | tr " " "\n" | grep master) \ + PUSH_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | sort -V) + MASTER_BRANCH=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep master) \ || true # Skipped master branch if [ -z "$TEST_BRANCH_PREFIX" ]; then - MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\n" | grep maint) \ + MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep maint) \ || true # Skipped all maint branches - RELEASE_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\n" | grep release | \ - tr "\n" " ") || true # Skipped all release branches + RELEASE_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep release | \ + tr "\\n" " ") || true # Skipped all release branches + printf \ + "Pushing with %ss delays, so CI runs in this order:\\n%s\\n%s\\n%s\\n" \ + "$PUSH_DELAY" "$MASTER_BRANCH" "$MAINT_BRANCHES" "$RELEASE_BRANCHES" else # Actually test branches based on maint branches - MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\n" | grep -v master) \ + MAINT_BRANCHES=$(echo "$PUSH_BRANCHES" | tr " " "\\n" | grep -v master) \ || true # Skipped all maint test branches + printf "Pushing with %ss delays, so CI runs in this order:\\n%s\\n%s\\n" \ + "$PUSH_DELAY" "$MASTER_BRANCH" "$MAINT_BRANCHES" # No release branches RELEASE_BRANCHES= fi if [ "$MASTER_BRANCH" ] || [ "$MAINT_BRANCHES" ] \ || [ "$RELEASE_BRANCHES" ]; then - printf "Pushing with %ss delays, so CI runs in this order:\n" "$PUSH_DELAY" + printf "Pushing with %ss delays, so CI runs in this order:\\n" \ + "$PUSH_DELAY" if [ "$MASTER_BRANCH" ]; then - printf "%s\n" "$MASTER_BRANCH" + printf "%s\\n" "$MASTER_BRANCH" fi if [ "$MAINT_BRANCHES" ]; then - printf "%s\n" "$MAINT_BRANCHES" + printf "%s\\n" "$MAINT_BRANCHES" fi if [ "$RELEASE_BRANCHES" ]; then - printf "%s\n" "$RELEASE_BRANCHES" + printf "%s\\n" "$RELEASE_BRANCHES" fi fi # shellcheck disable=SC2086 diff --git a/scripts/git/git-setup-dirs.sh b/scripts/git/git-setup-dirs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -SCRIPT_NAME=`basename $0` +SCRIPT_NAME=$(basename "$0") function usage() { @@ -295,8 +295,10 @@ function add_remote printf " %s Adding remote %s at %s..." "$MARKER" "$1" "$2" local check_cmd="git remote get-url '$1'" msg=$( eval "$check_cmd" 2>&1 ) + ret=$? # We don't want a remote, so we invert the exit status - if validate_ret_skip $[ ! $? ] "Remote already exists for $1 at $msg."; then + if validate_ret_skip $(( ! ret )) \ + "Remote already exists for $1 at $msg."; then return fi if [ $DRY_RUN -eq 0 ]; then diff --git a/scripts/maint/checkShellScripts.sh b/scripts/maint/checkShellScripts.sh @@ -35,12 +35,8 @@ if [ ! -d "$TOPLEVEL/src" ]; then fi # Check *.sh scripts, but ignore the ones that we can't fix -find "$TOPLEVEL" \ +find "$TOPLEVEL/contrib" "$TOPLEVEL/doc" "$TOPLEVEL/scripts" "$TOPLEVEL/src" \ -name "*.sh" \ - -path "$TOPLEVEL/contrib/*" \ - -path "$TOPLEVEL/doc/*" \ - -path "$TOPLEVEL/scripts/*" \ - -path "$TOPLEVEL/src/*" \ -not -path "$TOPLEVEL/src/ext/*" \ -not -path "$TOPLEVEL/src/rust/registry/*" \ -exec shellcheck {} + diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh @@ -88,7 +88,7 @@ TOR_BINARY="$(abspath "$TOR_BINARY")" echo "TOR BINARY IS ${TOR_BINARY}" TOR_MODULES_DISABLED="$("$TOR_BINARY" --list-modules | grep ": no" \ - | cut -d ":" -f1 | sort | tr "\n" "_")" + | cut -d ":" -f1 | sort | tr "\\n" "_")" # Remove the last underscore, if there is one TOR_MODULES_DISABLED=${TOR_MODULES_DISABLED%_} @@ -239,7 +239,7 @@ for dir in "${EXAMPLEDIR}"/*; do > "${DATA_DIR}/output.${testname}" \ && die "FAIL: $ERROR: Tor did not report an error." - expect_err="$(cat $ERROR)" + expect_err="$(cat "$ERROR")" if grep "${expect_err}" "${DATA_DIR}/output.${testname}" >/dev/null; then echo "OK" else