mongodb/mongo-ruby-driver — pull request #327 by brandonblack (2013-12-09 07:30:11+00:00)
Title: RUBY-691 test suite refactor and speed improvements

M-m-m-m-m-onster diff!

It's actually not really as big as it looks, it just touches a lot of things in our test suite. I started digging into a failure on Jenkins and realized we had some pretty large problems in our test suite.

I decided to grab RUBY-691 and tackle all of it at once and I'm pretty happy with the end result. Trimming back the weeds here has helped me debug a few auth test issues as well so it's already paying off.

What's in these changes:

* simplifies a lot about our test suite and rake tasks
* standardizes test suite class names, instance names, constants
* standardizes test db names for better cleanup
* fixed issues with orphaned/left-over replica sets
* fixed issues with orphaned/left-over sharded clusters
* fixed a few gaps in our test suite on travis
* fixed issue with bundler requiring too much in our test environment
* greatly improves the overall run time (commit task is much faster)
* added default rake task (rake => rake test:commit)
* more accurate code coverage reporting (without any result merging hacks)
* added coveralls coverage reporting in place of our existing manual task
* all test data and files get cleaned up reliably now
* removed some empty or un-used tests
* merged some duplicate tests

With these changes:

```ruby
# This is your pre-commit task.
#
# This runs:
# - Everything without extensions enabled.
# - Everything with extensions enabled.
#
# Locally this will also run replica_set and sharded_cluster tests.

rake
rake test:commit

# Default test suites (no extensions)

rake test:without_ext

# keeping old aliases
rake test:ruby
rake test

# With extensions

rake test:ext
```