jwood / tenacity

A database client independent way of managing relationships between models backed by different databases.
MIT License
118 stars 17 forks source link

Can't Run Tests #36

Closed raphaelcm closed 12 years ago

raphaelcm commented 12 years ago

Hi John:

I'm trying to write a patch for Tenacity and can't get the tests to run. I get a bunch of these errors:

/Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize': wrong number of arguments (4 for 3) (ArgumentError)
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/cursor.rb:604:in `construct_query_message'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/cursor.rb:465:in `send_initial_query'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/cursor.rb:458:in `refresh'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/cursor.rb:128:in `next_document'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/db.rb:511:in `command'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/connection.rb:628:in `check_is_master'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/connection.rb:402:in `connect'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/connection.rb:589:in `setup'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongo-1.6.2/lib/mongo/connection.rb:114:in `initialize'
    from ./test/helpers/mongoid_test_helper.rb:15:in `new'
    from ./test/helpers/mongoid_test_helper.rb:15
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/mongoid-2.0.2/lib/mongoid.rb:122:in `configure'
    from ./test/helpers/mongoid_test_helper.rb:12
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:596:in `new_constants_in'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require'
    from ./test/test_helper.rb:23
    from ./test/association_features/belongs_to_test.rb:1:in `require'
    from ./test/association_features/belongs_to_test.rb:1
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `load'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each'
    from /Users/raphael/.rvm/gems/ree-1.8.7-2012.02/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5

Using ruby 1.8.7. Here are the gem versions bundler installed:

Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.5) 
Using builder (2.1.2) 
Using i18n (0.6.0) 
Using activemodel (3.0.5) 
Using erubis (2.6.6) 
Using rack (1.2.5) 
Using rack-mount (0.6.14) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.33) 
Using actionpack (3.0.5) 
Using arel (2.0.10) 
Using activerecord (3.0.5) 
Using adapter (0.5.2) 
Using bson (1.6.2) 
Using mongo (1.6.2) 
Using adapter-mongo (0.5.4) 
Using addressable (2.2.7) 
Using beefcake (0.3.2) 
Using bson_ext (1.3.1) 
Using bundler (1.1.3) 
Using json (1.5.4) 
Using mime-types (1.18) 
Using rest-client (1.6.7) 
Using couchrest (1.0.2) 
Using thor (0.14.6) 
Using railties (3.0.5) 
Using couchrest_model (1.0.0) 
Using data_objects (0.10.8) 
Using extlib (0.9.15) 
Using dm-core (1.0.2) 
Using dm-aggregates (1.0.2) 
Using dm-migrations (1.0.2) 
Using dm-constraints (1.0.2) 
Using fastercsv (1.5.4) 
Using json_pure (1.6.6) 
Using dm-serializer (1.0.2) 
Using dm-timestamps (1.0.2) 
Using dm-transactions (1.0.2) 
Using stringex (1.1.0) 
Using uuidtools (2.1.2) 
Using dm-types (1.0.2) 
Using dm-validations (1.0.2) 
Using datamapper (1.0.2) 
Using dm-do-adapter (1.0.2) 
Using do_sqlite3 (0.10.8) 
Using dm-sqlite-adapter (1.0.2) 
Using mocha (0.9.12) 
Using plucky (0.3.8) 
Using mongo_mapper (0.9.2) 
Using mongoid (2.0.2) 
Using rcov (0.9.11) 
Using riak-client (0.9.8) 
Using ripple (0.9.5) 
Using sequel (3.19.0) 
Using shoulda (2.11.3) 
Using simple_uuid (0.1.2) 
Using sqlite3 (1.3.6) 
Using tenacity (0.5.5) from source at . 
Using toystore (0.8.3) 
Using yard (0.6.8) 
jwood commented 12 years ago

HI Raphael,

I was able to reproduce the issue by doing a bundle update to pull down the latest set of "compatible" libraries.

I just pushed an updated tenacity.gemspec to master that locks down the development dependencies a bit tighter. Although some of these libraries are behind a few versions, this list more accurately reflects what I was using when I started Tenacity. I was able to run the tests successfully with these versions of the dependencies. So, after pulling down the recent update, a bundle update should get you up and running with the gem versions you need.

I should probably update the dependencies to use more recent versions of some of these gems. Perhaps another night.

Let me know if you still have trouble.

Thanks John

jwood commented 12 years ago

FYI...in case you're curious, I believe the issue you reported is due to these:

Using bson (1.6.2) 
Using bson_ext (1.3.1)

Updating to bson_ext 1.6.2 got me up and running, though I ran into a few test failures, likely due to the big bump in the mongo related gems (1.3.1 => 1.6.2).

raphaelcm commented 12 years ago

Awesome, thanks.

I ran into a couple other gotchas that I fixed, and then got around to my original goal which was to create a fix (and tests for) a bug.

Pull request coming shortly.