Skip to content

Instantly share code, notes, and snippets.

@benjie
Created May 15, 2012 13:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benjie/2701948 to your computer and use it in GitHub Desktop.
Save benjie/2701948 to your computer and use it in GitHub Desktop.
`git bisect` demo using CoffeeScript 1.3.2 "=> super" bug

To run this,

git clone git://github.com/jashkenas/coffee-script.git
cd coffee-script

Copy test.sh into the coffee-script directory, then

git bisect start
# git checkout 1.3.2
# sh test.sh # FAIL -> BAD
git bisect bad
git checkout 1.2.0
# sh test.sh # No output -> GOOD
git bisect good
git bisect run sh test.sh

Results:

5542e00b80d0f125e57955fccb3ca3a4f61d39f7 is the first bad commit
commit 5542e00b80d0f125e57955fccb3ca3a4f61d39f7
Author: Maxwell Krohn [ SNIP ]
Date:   Wed Apr 11 18:05:33 2012 -0400

    sart work on a bugfix, but we're not covering the exact case in issue #1183

:040000 040000 4b3b476f178beb8f8ed645c0b67f0376e4ca46d2 f7b1791f6a4b27c9320e962083ad41cb90165563 M	lib
:040000 040000 750baab5ac31452ceb559dc64420cb21c4fb3d7e 057c549650e44b7c6d2868718cec50316570a5e3 M	src
:040000 040000 5801b7f26750041bedaa1be50d6553f199bbc7f3 83d98230f278d9ec5dd7f6929ac39e2a864e845e M	test
bisect run success
cat > test.coffee <<HERE
class A
v: 1
m: ->
return @v
class B extends A
m: =>
@v = 2
super
result = new B().m() # Should be 2
if result isnt 2
console.error "FAIL"
process.exit 1
else
process.exit 0
HERE
bin/cake build
exec bin/coffee test.coffee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment