solanolabs/tddium — pull request #34 by grosser (2014-02-25 05:30:42+00:00)
Title: bisect

basic idea is that whenever a test fails (and it's a ruby project for now...) you add a copy button that copies
`tddium bisect all.rb files.rb that.rb failed.rb that.rb` (files with failed + failed)
and then this guy figures out which combination causes the failure.

- keeps the ordering (a b c -> `a b ?` or `b c ?`)
- checks that the failing file fails on it's own
- checks that all files run together fail

@semipermeable

output looks like this (c fails when b is run with it)
```
Running: bundle exec ruby -r./c -e ''
Status: Success
Running: bundle exec ruby -r./a -r./0 -r./1 -r./2 -r./b -r./3 -r./4 -r./5 -r./6 -r./7 -r./c -r./8 -r./9 -e ''
Status: Failure
Running: bundle exec ruby -r./4 -r./5 -r./6 -r./7 -r./c -r./8 -r./9 -e ''
Status: Success
Running: bundle exec ruby -r./a -r./0 -r./1 -r./2 -r./b -r./3 -r./c -e ''
Status: Failure
Running: bundle exec ruby -r./2 -r./b -r./3 -r./c -e ''
Status: Failure
Running: bundle exec ruby -r./3 -r./c -e ''
Status: Success
Running: bundle exec ruby -r./2 -r./b -r./c -e ''
Status: Failure
Running: bundle exec ruby -r./b -r./c -e ''
Status: Failure
Fails when b.rb, c.rb are run together
```

output is a bit verbose, but should help in debugging :)