aboutsummaryrefslogtreecommitdiffstats
path: root/tool/bisect.sh
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-10-06 05:46:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-10-06 05:46:55 +0000
commit738d9eb811aa085e8cff00de0a1d83f7a9de5a52 (patch)
treef9f93c0b16a52aca263a6202bbe5eea04d7f3226 /tool/bisect.sh
parent8ebfda9caac2dccab717314be87d29a8634f39eb (diff)
downloadruby-738d9eb811aa085e8cff00de0a1d83f7a9de5a52.tar.gz
bisect.sh: improve
* tool/bisect.sh: make srcs before building. * tool/bisect.sh: quote expansions. * tool/bisect.sh: skip build if chdir and Makefile failed. * tool/bisect.sh: fail at unknown command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool/bisect.sh')
-rwxr-xr-xtool/bisect.sh25
1 files changed, 14 insertions, 11 deletions
diff --git a/tool/bisect.sh b/tool/bisect.sh
index d47bd988b4..07d7bdbb2b 100755
--- a/tool/bisect.sh
+++ b/tool/bisect.sh
@@ -11,24 +11,26 @@ fi
case $1 in
miniruby | ruby ) # (miniruby|ruby) <srcdir>
- srcdir=$2
+ srcdir="$2"
builddir=`pwd` # assume pwd is builddir
- path=$builddir/_bisect.sh
+ path="$builddir/_bisect.sh"
echo "path: $path"
- cp $0 $path
- cd $srcdir
- echo "git bisect run $path run-$1"
- git bisect run $path run-$1
+ cp "$0" "$path"
+ cd "$srcdir"
+ set -x
+ exec git bisect run "$path" "run-$1"
;;
run-miniruby )
- cd ${0%/*} # assume a copy of this script is in builddir
- $MAKE Makefile
+ $MAKE srcs || exit 125
+ cd "${0%/*}" || exit 125 # assume a copy of this script is in builddir
+ $MAKE Makefile || exit 125
$MAKE mini || exit 125
$MAKE run || exit 1
;;
run-ruby )
- cd ${0%/*} # assume a copy of this script is in builddir
- $MAKE Makefile
+ $MAKE srcs || exit 125
+ cd "${0%/*}" || exit 125 # assume a copy of this script is in builddir
+ $MAKE Makefile || exit 125
$MAKE program || exit 125
$MAKE runruby || exit 1
;;
@@ -36,7 +38,8 @@ case $1 in
echo foo bar
;;
* )
- echo unknown command "'$cmd'"
+ echo unknown command "'$cmd'" 1>&2
+ exit 1
;;
esac
exit 0