aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-08 05:54:08 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-08 05:54:08 +0000
commita9a4da925c2a22f5bbbf2e93a155211b68fb7079 (patch)
tree0e409c77b9b6080fc046e5387ab6c8b98ff30c6a
parentd1ede0c12b229eb94a2c02d92127c59a2a04cf4a (diff)
downloadruby-a9a4da925c2a22f5bbbf2e93a155211b68fb7079.tar.gz
* common.mk (mini): portable target to build miniruby
* common.mk (bisect): run git-bisect with miniruby * common.mk (bisect-ruby): run git-bisect with ruby * tool/bisect.sh: script for git-bisect git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--common.mk7
-rwxr-xr-xtool/bisect.sh42
3 files changed, 59 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b426515e0..8e6fde683f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Thu Aug 8 14:50:36 2013 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * common.mk (mini): portable target to build miniruby
+
+ * common.mk (bisect): run git-bisect with miniruby
+
+ * common.mk (bisect-ruby): run git-bisect with ruby
+
+ * tool/bisect.sh: script for git-bisect
+
Thu Aug 8 12:11:43 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/webrick/test_httpresponse.rb (test_send_body_*_chunked): these
diff --git a/common.mk b/common.mk
index 87bd784cd3..4e36d3d1f9 100644
--- a/common.mk
+++ b/common.mk
@@ -211,6 +211,7 @@ Doxyfile: $(srcdir)/template/Doxyfile.tmpl $(PREP) $(srcdir)/tool/generic_erb.rb
program: showflags $(PROGRAM)
wprogram: showflags $(WPROGRAM)
+mini: PHONY miniruby$(EXEEXT)
$(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)
@@ -985,6 +986,12 @@ runruby: $(PROGRAM) PHONY
parse: fake miniruby$(EXEEXT) PHONY
$(BTESTRUBY) $(srcdir)/tool/parse.rb $(TESTRUN_SCRIPT)
+bisect: PHONY
+ $(srcdir)/tool/bisect.sh miniruby $(srcdir)
+
+bisect-ruby: PHONY
+ $(srcdir)/tool/bisect.sh ruby $(srcdir)
+
COMPARE_RUBY = $(BASERUBY)
ITEM =
OPTS =
diff --git a/tool/bisect.sh b/tool/bisect.sh
new file mode 100755
index 0000000000..fb22bf429b
--- /dev/null
+++ b/tool/bisect.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+# usage:
+# edit $(srcdir)/test.rb
+# git bisect start `git svn find-rev <rBADREV>` `git svn find-rev <rGOODREV>`
+# cd <builddir>
+# make bisect (or bisect-ruby for full ruby)
+
+if [ "x" = "x$MAKE" ]; then
+ MAKE=make
+fi
+
+case $1 in
+ miniruby | ruby ) # (miniruby|ruby) <srcdir>
+ srcdir=$2
+ builddir=`pwd` # assume pwd is builddir
+ 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
+ ;;
+ run-miniruby )
+ cd ${0%/*} # assume a copy of this script is in builddir
+ $MAKE Makefile
+ $MAKE mini || exit 125
+ $MAKE run || exit 1
+ ;;
+ run-ruby )
+ cd ${0%/*} # assume a copy of this script is in builddir
+ $MAKE Makefile
+ $MAKE program || exit 125
+ $MAKE runruby || exit 1
+ ;;
+ "" )
+ echo foo bar
+ ;;
+ * )
+ echo unkown command "'$cmd'"
+ ;;
+esac
+exit 0