≡

wincent.dev

  • Products
  • Blog
  • Wiki
  • Issues
You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Home » Issues » Bug #1590

Bug #1590: Rails 3 et al: acceptance spec fishiness

Kind bug
Product wincent.dev
When Created 6/24/2010, updated 7/5/2010
Status closed
Reporter Greg Hurrell
Tags no tags

Description

Overview

All pass:

rspec spec/acceptance

6 failures:

rake spec:acceptance

6 different failures:

bundle exec rspec spec/acceptance

rake spec:acceptance failures

1) Products index visiting the index with a hidden product
    Failure/Error: p1 = Product.make! :hide_from_front_page => true
    undefined method `validate_associated_records_for_pages' for #<Product:0x105a35808>
    # /Library/Ruby/Gems/1.8/gems/activemodel-3.0.0.beta4/lib/active_model/attribute_methods.rb:358:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/attribute_methods.rb:45:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/attribute_methods.rb:43:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/attribute_methods.rb:43:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:413:in `_run_validate_callbacks'
    # /Library/Ruby/Gems/1.8/gems/activemodel-3.0.0.beta4/lib/active_model/validations.rb:158:in `valid?'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/validations.rb:52:in `valid?'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/callbacks.rb:274:in `valid?'
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:412:in `_run_validation_callbacks'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/callbacks.rb:274:in `valid?'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/validations.rb:72:in `perform_validations'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/validations.rb:46:in `save!'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/attribute_methods/dirty.rb:30:in `save!'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/transactions.rb:240:in `save!'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/transactions.rb:287:in `with_transaction_returning_status'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/connection_adapters/abstract/database_statements.rb:139:in `transaction'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/transactions.rb:202:in `transaction'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/transactions.rb:285:in `with_transaction_returning_status'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/transactions.rb:240:in `save!'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/create.rb:6:in `result'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:326:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/products/index_spec.rb:13
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

2) Logging in to the site: logging out and seeing a flash
    Failure/Error: @email = Email.make!
    can't dup NilClass
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `dup'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1202:in `current_scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/sessions_spec.rb:5
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

3) Logging in to the site: trying to log out when not logged in and seeing a flash
    Failure/Error: @email = Email.make!
    can't dup NilClass
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `dup'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1202:in `current_scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/sessions_spec.rb:5
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

4) Logging in to the site: failing to log in
    Failure/Error: @email = Email.make!
    can't dup NilClass
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `dup'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1202:in `current_scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/sessions_spec.rb:5
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

5) Logging in to the site: dynamic "log in"/"log out" links (when logged in)
    Failure/Error: @email = Email.make!
    can't dup NilClass
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `dup'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1202:in `current_scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/sessions_spec.rb:5
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

6) Logging in to the site: dynamic "log in"/"log out" links (when logged out)
    Failure/Error: @email = Email.make!
    can't dup NilClass
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `dup'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1202:in `current_scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/sessions_spec.rb:5
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

7) Logging in to the site: dynamic "log in"/"log out" links (with no JavaScript)
    Failure/Error: @email = Email.make!
    can't dup NilClass
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `dup'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1198:in `scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1202:in `current_scoped_methods'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `send'
    # /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/base.rb:1438:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/proxy/build.rb:5:in `initialize'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `new'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:317:in `run'
    # /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib/factory_girl/factory.rb:270:in `create'
    # ./spec/support/factory_girl.rb:33:in `send'
    # ./spec/support/factory_girl.rb:33:in `delegate'
    # ./spec/support/factory_girl.rb:47:in `make!'
    # ./spec/acceptance/sessions_spec.rb:5
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
    # /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
    # /usr/bin/rake:19:in `load'
    # /usr/bin/rake:19

bundle exec rspec spec/acceptance failures

1) Logging in to the site: logging in and seeing a flash
    Failure/Error: visit '/login'
    (eval):1:in `process_result': compile error
    (eval):1: Invalid char `\033' in expression
    (eval):1: syntax error, unexpected tIDENTIFIER, expecting ']'
    Could not find gem 'weakling (>= 0....
              ^
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:50:in `process_result'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:40:in `eval'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:50:in `process_result'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:40:in `send_remote'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
    # ./spec/acceptance/sessions_spec.rb:9:in `log_in'
    # ./spec/acceptance/sessions_spec.rb:16
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'

2) Logging in to the site: logging out and seeing a flash
    Failure/Error: visit '/login'
    Broken pipe
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `write'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `<<'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `send_remote'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
    # ./spec/acceptance/sessions_spec.rb:9:in `log_in'
    # ./spec/acceptance/sessions_spec.rb:21
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'

3) Logging in to the site: trying to log out when not logged in and seeing a flash
    Failure/Error: visit '/logout'
    Broken pipe
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `write'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `<<'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `send_remote'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
    # ./spec/acceptance/sessions_spec.rb:27
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'

4) Logging in to the site: failing to log in
    Failure/Error: visit '/login'
    Broken pipe
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `write'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `<<'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `send_remote'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
    # ./spec/acceptance/sessions_spec.rb:32
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'

5) Logging in to the site: dynamic "log in"/"log out" links (when logged in)
    Failure/Error: visit '/login'
    Broken pipe
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `write'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `<<'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `send_remote'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
    # ./spec/acceptance/sessions_spec.rb:9:in `log_in'
    # ./spec/acceptance/sessions_spec.rb:40
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'

6) Logging in to the site: dynamic "log in"/"log out" links (when logged out)
    Failure/Error: visit '/'
    Broken pipe
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `write'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `<<'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:39:in `send_remote'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
    # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
    # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
    # ./spec/acceptance/sessions_spec.rb:46
    # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'

Comments

  1. Greg Hurrell 6/24/2010

    FWIW, other examples (not involving Steak, Culerity, Celerity etc) pass the same regardless of whether I do:

    rspec spec/mailers

    or:

    bundle exec rspec spec/mailers
  2. Greg Hurrell 6/24/2010

    Even stranger:

    bundle exec rspec spec/acceptance/sessions_spec.rb

    passes, but

    bundle exec rspec spec/acceptance

    is now hanging on the specs in sessions_spec until I CTRL-C it, then I get the broken pipe errors seen above, and also this one:

    1) Logging in to the site: logging in and seeing a flash
        Failure/Error: visit '/login'
        You have a nil object when you didn't expect it!
        You might have expected an instance of Array.
        The error occurred while evaluating nil.first
        # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:51:in `process_result'
        # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:40:in `send_remote'
        # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing'
        # /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize'
        # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `new'
        # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/culerity_driver.rb:17:in `browser'
        # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/driver/celerity_driver.rb:99:in `visit'
        # /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib/capybara/dsl.rb:55:in `visit'
        # ./spec/acceptance/sessions_spec.rb:9:in `log_in'
        # ./spec/acceptance/sessions_spec.rb:16
        # /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject'
  3. Greg Hurrell 6/24/2010

    Hmph.

    bundle exec rspec spec/acceptance

    Is not longer hanging consistently. I just ran it a few times without hanging. Then, in new terminal window, started hanging again.

  4. Greg Hurrell 6/28/2010

    Ok, updated a few gems and what not. Current status:

    • rspec spec/acceptance: always works

    And seems we've now got consistent behavior across both methods of using Bundler:

    • rake spec:acceptance: sometimes works, sometimes hangs indefinitely, always at same point (CTRL-C shows "broken pipe")
      • running specific spec files (eg. bundle exec rspec spec/acceptance/sessions_spec.rb) exhibits the same behavior (sometimes works, sometimes hangs)
    • bundle exec rspec spec/acceptance: sometimes works, sometimes hangs indefinitely as above (when hanging, CTRL-C shows "broken pipe")
  5. Greg Hurrell 6/28/2010

    One difference I note in the output between the non-hanging rspec ... invocation:

    *..*.[2010-06-28 10:34:47] INFO  WEBrick 1.3.1
    [2010-06-28 10:34:47] INFO  ruby 1.8.7 (2009-06-12) [universal-darwin10.0]
    [2010-06-28 10:34:47] INFO  WEBrick::HTTPServer#start: pid=14031 port=9887
    .......

    And the sometimes-hanging bundle exec rspec ... and rake spec:acceptance invocations:

    *..*.[2010-06-28 10:35:11] INFO  WEBrick 1.3.1
    [2010-06-28 10:35:11] INFO  ruby 1.8.7 (2009-06-12) [universal-darwin10.0]
    [2010-06-28 10:35:11] INFO  WEBrick::HTTPServer#start: pid=14052 port=9887
    JRuby limited openssl loaded. http://jruby.org/openssl
    gem install jruby-openssl for full support.

    Obviously, at the system level I have done the sudo jruby -S gem install jruby-openssl thing, and perhaps that is why the specs always finish when running outside the context of Bundler.

    I wonder if adding jruby-openssl to the Gemfile with :require => nil will at least get it into the LOAD_PATH.

  6. Greg Hurrell 6/28/2010

    Adding it to the Gemfile does silence the warning, so evidently it is somehow getting made available via the LOAD_PATH, but we still see the unpredictable hanging.

  7. Greg Hurrell 6/28/2010

    Seeing as I'd fixes some failing specs in Celerity itself by installing Mongrel, I tried the same by adding it to the Gemfile.

    This immediately silenced WEBrick's chatty output in the spec output, but alas, the specs don't succeed:

    *..*.FFFFFF.

    The error we're seeing is:

    1) Logging in to the site: logging in and seeing a flash
        Failure/Error: visit '/login'
        (eval):1:in `process_result': compile error
        (eval):1: Invalid char `\033' in expression
        (eval):1: syntax error, unexpected tIDENTIFIER, expecting ']'
        Could not find mongrel-1.1.5-java in any of the sources

    So I try installing it within the JRuby environment:

    sudo jruby -S gem install mongrel

    But we still fail the same way.

    I thought I'd try running jruby -S bundle install but that eventually bails on hitting a native (C) gem:

    Installing nokogiri (1.4.2) with native extensions /usr/local/jruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:482:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
    
    /usr/local/jruby/bin/jruby extconf.rb
    WARNING: JRuby does not support native extensions or the `mkmf' library.
             Check http://kenai.com/projects/jruby/pages/Home for alternatives.
    extconf.rb:10: uninitialized constant Config (NameError)
    
    
    Gem files will remain installed in /Users/wincent/.bundle/gems/nokogiri-1.4.2 for inspection.
    Results logged to /Users/wincent/.bundle/gems/nokogiri-1.4.2/ext/nokogiri/gem_make.out
  8. Greg Hurrell 6/28/2010

    Comparing the LOAD_PATHs at the time of spec_helper evaluation:

    Initial LOAD_PATH without Bundler

    /Users/wincent/trabajo/unversioned/wincent.dev/src/spec
    /Users/wincent/trabajo/unversioned/wincent.dev/src/lib
    /Library/Ruby/Gems/1.8/gems/json_pure-1.4.3/bin
    /Library/Ruby/Gems/1.8/gems/json_pure-1.4.3/lib
    /Library/Ruby/Gems/1.8/gems/gemcutter-0.5.0/bin
    /Library/Ruby/Gems/1.8/gems/gemcutter-0.5.0/lib
    /Library/Ruby/Gems/1.8/gems/rspec-core-2.0.0.beta.13/bin
    /Library/Ruby/Gems/1.8/gems/rspec-core-2.0.0.beta.13/lib
    /Library/Ruby/Gems/1.8/gems/diff-lcs-1.1.2/bin
    /Library/Ruby/Gems/1.8/gems/diff-lcs-1.1.2/lib
    /Library/Ruby/Gems/1.8/gems/rspec-expectations-2.0.0.beta.13/bin
    /Library/Ruby/Gems/1.8/gems/rspec-expectations-2.0.0.beta.13/lib
    /Library/Ruby/Site/1.8
    /Library/Ruby/Site/1.8/powerpc-darwin10.0
    /Library/Ruby/Site/1.8/universal-darwin10.0
    /Library/Ruby/Site
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0
    .

    Note: this is the LOAD_PATH at the start of the spec_helper, just after the Rails environment has been required. See further down for the much longer list which corresponds to the end of the spec_helper (ie. after "rspec/rails" and so on have been required.

    Initial LOAD_PATH with Bundler

    /Users/wincent/.bundle/gems/wikitext-2.0/lib
    /Users/wincent/.bundle/gems/wikitext-2.0/ext
    /Users/wincent/.bundle/bundler/gems/steak-77d6391/lib
    /Users/wincent/.bundle/gems/rspec-rails-2.0.0.beta.14.1/lib
    /Library/Ruby/Gems/1.8/gems/webrat-0.7.1/lib
    /Users/wincent/.bundle/gems/rspec-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-mocks-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-expectations-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-core-2.0.0.beta.14/lib
    /Library/Ruby/Gems/1.8/gems/rr-0.10.11/lib
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib
    /Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/lib
    /Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/ext
    /Users/wincent/.bundle/gems/launchy-0.3.5/lib
    /Users/wincent/.bundle/gems/jruby-openssl-0.7/lib
    /Users/wincent/.bundle/gems/hpricot-0.8.2/lib
    /Users/wincent/.bundle/gems/haml-3.0.12/lib
    /Users/wincent/.bundle/gems/factory_girl_rails-1.0/lib
    /Library/Ruby/Gems/1.8/gems/rails-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/thor-0.13.7/lib
    /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib
    /Library/Ruby/Gems/1.8/gems/diff-lcs-1.1.2/lib
    /Users/wincent/.bundle/gems/database_cleaner-0.5.2/lib
    /Users/wincent/.bundle/gems/configuration-1.1.0/lib
    /Users/wincent/.bundle/gems/celerity-0.7.9/lib
    /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/remote/client/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/jobbie/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/chrome/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/firefox/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/common/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/json_pure-1.4.3/lib
    /Library/Ruby/Gems/1.8/gems/ffi-0.6.3/ext
    /Library/Ruby/Gems/1.8/gems/ffi-0.6.3/lib
    /Library/Ruby/Gems/1.8/gems/nokogiri-1.4.2/lib
    /Users/wincent/.bundle/gems/culerity-0.2.10/lib
    /Users/wincent/.bundle/gems/activeresource-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/activerecord-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/arel-0.4.0/lib
    /Users/wincent/.bundle/gems/actionmailer-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/mail-2.2.5/lib
    /Users/wincent/.bundle/gems/treetop-1.4.8/lib
    /Users/wincent/.bundle/gems/polyglot-0.3.1/lib
    /Users/wincent/.bundle/gems/mime-types-1.16/lib
    /Users/wincent/.bundle/gems/actionpack-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/tzinfo-0.3.22/lib
    /Users/wincent/.bundle/gems/rack-test-0.5.4/lib
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib
    /Users/wincent/.bundle/gems/rack-1.1.0/lib
    /Users/wincent/.bundle/gems/erubis-2.6.6/lib
    /Users/wincent/.bundle/gems/activemodel-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/i18n-0.4.1/lib
    /Users/wincent/.bundle/gems/builder-2.1.2/lib
    /Users/wincent/.bundle/gems/activesupport-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/abstract-1.0.0/lib
    /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib
    lib
    spec
    /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib
    /Library/Ruby/Site/1.8
    /Library/Ruby/Site/1.8/powerpc-darwin10.0
    /Library/Ruby/Site/1.8/universal-darwin10.0
    /Library/Ruby/Site
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0
    .

    Final LOAD_PATH without Bundler

    /Users/wincent/.bundle/gems/haml-3.0.12/vendor/fssm/lib
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/controllers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/helpers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/mailers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/models
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/sweepers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/lib
    /Users/wincent/trabajo/unversioned/wincent.dev/src/vendor
    /Users/wincent/trabajo/unversioned/wincent.dev/src/vendor/plugins/rails_upgrade/lib
    /Users/wincent/.bundle/gems/wikitext-2.0/lib
    /Users/wincent/.bundle/gems/wikitext-2.0/ext
    /Users/wincent/.bundle/bundler/gems/steak-77d6391/lib
    /Users/wincent/.bundle/gems/rspec-rails-2.0.0.beta.14.1/lib
    /Library/Ruby/Gems/1.8/gems/webrat-0.7.1/lib
    /Users/wincent/.bundle/gems/rspec-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-mocks-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-expectations-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-core-2.0.0.beta.14/lib
    /Library/Ruby/Gems/1.8/gems/rr-0.10.11/lib
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib
    /Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/lib
    /Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/ext
    /Users/wincent/.bundle/gems/launchy-0.3.5/lib
    /Users/wincent/.bundle/gems/jruby-openssl-0.7/lib
    /Users/wincent/.bundle/gems/hpricot-0.8.2/lib
    /Users/wincent/.bundle/gems/haml-3.0.12/lib
    /Users/wincent/.bundle/gems/factory_girl_rails-1.0/lib
    /Library/Ruby/Gems/1.8/gems/rails-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/thor-0.13.7/lib
    /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib
    /Library/Ruby/Gems/1.8/gems/diff-lcs-1.1.2/lib
    /Users/wincent/.bundle/gems/database_cleaner-0.5.2/lib
    /Users/wincent/.bundle/gems/configuration-1.1.0/lib
    /Users/wincent/.bundle/gems/celerity-0.7.9/lib
    /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/remote/client/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/jobbie/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/chrome/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/firefox/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/common/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/json_pure-1.4.3/lib
    /Library/Ruby/Gems/1.8/gems/ffi-0.6.3/ext
    /Library/Ruby/Gems/1.8/gems/ffi-0.6.3/lib
    /Library/Ruby/Gems/1.8/gems/nokogiri-1.4.2/lib
    /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib
    /Library/Ruby/Gems/1.8/gems/activeresource-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/arel-0.4.0/lib
    /Library/Ruby/Gems/1.8/gems/actionmailer-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/mail-2.2.5/lib
    /Users/wincent/.bundle/gems/treetop-1.4.8/lib
    /Library/Ruby/Gems/1.8/gems/polyglot-0.3.1/lib
    /Library/Ruby/Gems/1.8/gems/mime-types-1.16/lib
    /Library/Ruby/Gems/1.8/gems/actionpack-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/tzinfo-0.3.22/lib
    /Library/Ruby/Gems/1.8/gems/rack-test-0.5.4/lib
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib
    /Library/Ruby/Gems/1.8/gems/rack-1.1.0/lib
    /Users/wincent/.bundle/gems/erubis-2.6.6/lib
    /Library/Ruby/Gems/1.8/gems/activemodel-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/i18n-0.4.1/lib
    /Library/Ruby/Gems/1.8/gems/builder-2.1.2/lib
    /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/abstract-1.0.0/lib
    /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib
    /Users/wincent/trabajo/unversioned/wincent.dev/src/spec
    /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib
    /Library/Ruby/Site/1.8
    /Library/Ruby/Site/1.8/powerpc-darwin10.0
    /Library/Ruby/Site/1.8/universal-darwin10.0
    /Library/Ruby/Site
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0
    .
    /Library/Ruby/Gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_controller/vendor/html-scanner
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib/rack/mount/vendor/multimap
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib/rack/mount/vendor/regin

    Final LOAD_PATH with Bundler

    /Users/wincent/.bundle/gems/haml-3.0.12/vendor/fssm/lib
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/controllers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/helpers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/mailers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/models
    /Users/wincent/trabajo/unversioned/wincent.dev/src/app/sweepers
    /Users/wincent/trabajo/unversioned/wincent.dev/src/lib
    /Users/wincent/trabajo/unversioned/wincent.dev/src/vendor
    /Users/wincent/trabajo/unversioned/wincent.dev/src/vendor/plugins/rails_upgrade/lib
    /Users/wincent/trabajo/unversioned/wincent.dev/src/spec
    /Users/wincent/.bundle/gems/wikitext-2.0/lib
    /Users/wincent/.bundle/gems/wikitext-2.0/ext
    /Users/wincent/.bundle/bundler/gems/steak-77d6391/lib
    /Users/wincent/.bundle/gems/rspec-rails-2.0.0.beta.14.1/lib
    /Library/Ruby/Gems/1.8/gems/webrat-0.7.1/lib
    /Users/wincent/.bundle/gems/rspec-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-mocks-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-expectations-2.0.0.beta.14/lib
    /Users/wincent/.bundle/gems/rspec-core-2.0.0.beta.14/lib
    /Library/Ruby/Gems/1.8/gems/rr-0.10.11/lib
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext
    /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib
    /Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/lib
    /Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/ext
    /Users/wincent/.bundle/gems/launchy-0.3.5/lib
    /Users/wincent/.bundle/gems/jruby-openssl-0.7/lib
    /Users/wincent/.bundle/gems/hpricot-0.8.2/lib
    /Users/wincent/.bundle/gems/haml-3.0.12/lib
    /Users/wincent/.bundle/gems/factory_girl_rails-1.0/lib
    /Library/Ruby/Gems/1.8/gems/rails-3.0.0.beta4/lib
    /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/thor-0.13.7/lib
    /Users/wincent/.bundle/gems/factory_girl-1.3.1/lib
    /Library/Ruby/Gems/1.8/gems/diff-lcs-1.1.2/lib
    /Users/wincent/.bundle/gems/database_cleaner-0.5.2/lib
    /Users/wincent/.bundle/gems/configuration-1.1.0/lib
    /Users/wincent/.bundle/gems/celerity-0.7.9/lib
    /Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/remote/client/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/jobbie/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/chrome/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/firefox/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/common/src/rb/lib
    /Library/Ruby/Gems/1.8/gems/json_pure-1.4.3/lib
    /Library/Ruby/Gems/1.8/gems/ffi-0.6.3/ext
    /Library/Ruby/Gems/1.8/gems/ffi-0.6.3/lib
    /Library/Ruby/Gems/1.8/gems/nokogiri-1.4.2/lib
    /Users/wincent/.bundle/gems/culerity-0.2.10/lib
    /Users/wincent/.bundle/gems/activeresource-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/activerecord-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/arel-0.4.0/lib
    /Users/wincent/.bundle/gems/actionmailer-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/mail-2.2.5/lib
    /Users/wincent/.bundle/gems/treetop-1.4.8/lib
    /Users/wincent/.bundle/gems/polyglot-0.3.1/lib
    /Users/wincent/.bundle/gems/mime-types-1.16/lib
    /Users/wincent/.bundle/gems/actionpack-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/tzinfo-0.3.22/lib
    /Users/wincent/.bundle/gems/rack-test-0.5.4/lib
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib
    /Users/wincent/.bundle/gems/rack-1.1.0/lib
    /Users/wincent/.bundle/gems/erubis-2.6.6/lib
    /Users/wincent/.bundle/gems/activemodel-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/i18n-0.4.1/lib
    /Users/wincent/.bundle/gems/builder-2.1.2/lib
    /Users/wincent/.bundle/gems/activesupport-3.0.0.beta4/lib
    /Users/wincent/.bundle/gems/abstract-1.0.0/lib
    /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib
    lib
    spec
    /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib
    /Library/Ruby/Site/1.8
    /Library/Ruby/Site/1.8/powerpc-darwin10.0
    /Library/Ruby/Site/1.8/universal-darwin10.0
    /Library/Ruby/Site
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin10.0
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0
    .
    /Users/wincent/.bundle/gems/actionpack-3.0.0.beta4/lib/action_controller/vendor/html-scanner
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib/rack/mount/vendor/multimap
    /Users/wincent/.bundle/gems/rack-mount-0.6.6/lib/rack/mount/vendor/regin
  9. Greg Hurrell 6/28/2010

    As far as I can see, the only differences between the two are:

    • the Bundler one adds spec (relative path) to the LOAD_PATH (both also add the absolute path to the directory, although at different points)
    • the Bundler one adds paths inside ~/.bundle, but the version numbers are all identical
  10. Greg Hurrell 6/28/2010

    Given the scant difference between what's actually in the load path, I wonder if the difference lies in what is in the load path at the time that some of the earlier parts of the spec_helper file are evaluated.

    I also wonder about the Mongrel thing. It works without Bundler, but with Bundler it's not found. I've tried various tricks trying to get it to be visible from the Bundle environment, but really at a loss to know how/why things are different. One thing I do see in the Culerity source is that JRuby becomes involved only here, in the file bin/run_celerity_server.rb:

    #!/usr/bin/env jruby
    require File.dirname(__FILE__) << '/../lib/culerity/celerity_server'
    Culerity::CelerityServer.new(STDIN, STDOUT)

    So I guess at that point, we're running under JRuby, and in the "no Bundler" version Mongrel is available because the first thing that lib/culerity/celerity_server does is require 'rubygems', and the environment at that point somehow has an appropriate load path.

  11. Greg Hurrell 6/28/2010

    Just checked out what the load path is inside celerity_server and see the same differences as listed above. In both cases we have something this:

    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/ext
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib

    Even if I change the Gemfile to:

     gem 'mongrel',   :require => nil,
                      :path => '/usr/local/jruby-1.5.1/lib/ruby/gems/1.8/gems/mongrel-1.1.5-java'

    I still see the paths to the native C Mongrel in the load path.

    gem 'mongrel-java' obviously won't work, as no such gem exists.

    More tweaking, and now rake spec:acceptance is mysteriously working again...

    Looks like the gem 'jruby-openssl' line might have had something to do with it... add it in and things start hanging again... remove it and still broken... Maybe it was just a coincidence.

    Here is the output of bundle show when it was working:

    Gems included by the bundle:
      * abstract (1.0.0)
      * actionmailer (3.0.0.beta4)
      * actionpack (3.0.0.beta4)
      * activemodel (3.0.0.beta4)
      * activerecord (3.0.0.beta4)
      * activeresource (3.0.0.beta4)
      * activesupport (3.0.0.beta4)
      * arel (0.4.0)
      * builder (2.1.2)
      * bundler (1.0.0.beta.1)
      * capybara (0.3.8)
      * celerity (0.7.9)
      * cgi_multipart_eof_fix (2.5.0)
      * configuration (1.1.0)
      * culerity (0.2.10)
      * daemons (1.1.0)
      * database_cleaner (0.5.2)
      * diff-lcs (1.1.2)
      * erubis (2.6.6)
      * factory_girl (1.3.1)
      * factory_girl_rails (1.0)
      * fastthread (1.0.7)
      * ffi (0.6.3)
      * gem_plugin (0.2.3)
      * haml (3.0.12)
      * hpricot (0.8.2)
      * i18n (0.4.1)
      * json_pure (1.4.3)
      * launchy (0.3.5)
      * mail (2.2.5)
      * mime-types (1.16)
      * mkdtemp (1.1.1)
      * mongrel (1.1.5)
      * mysql (2.8.1)
      * nokogiri (1.4.2)
      * polyglot (0.3.1)
      * rack (1.1.0)
      * rack-mount (0.6.6)
      * rack-test (0.5.4)
      * rails (3.0.0.beta4)
      * railties (3.0.0.beta4)
      * rake (0.8.7)
      * rr (0.10.11)
      * rspec (2.0.0.beta.14)
      * rspec-core (2.0.0.beta.14)
      * rspec-expectations (2.0.0.beta.14)
      * rspec-mocks (2.0.0.beta.14)
      * rspec-rails (2.0.0.beta.14.1)
      * selenium-webdriver (0.0.24)
      * steak (0.4.0.beta.1 77d6391)
      * thor (0.13.7)
      * treetop (1.4.8)
      * tzinfo (0.3.22)
      * webrat (0.7.1)
      * wikitext (2.0)

    Output of bundle show mongrel when working:

    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5

    And here is output of bundle install, which broke things:

    Updating git://github.com/cavalle/steak.git
    Using rake (0.8.7) 
    Using abstract (1.0.0) 
    Using activesupport (3.0.0.beta4) 
    Using builder (2.1.2) 
    Using i18n (0.4.1) 
    Using activemodel (3.0.0.beta4) 
    Using erubis (2.6.6) 
    Using rack (1.1.0) 
    Using rack-mount (0.6.6) 
    Using rack-test (0.5.4) 
    Using tzinfo (0.3.22) 
    Using actionpack (3.0.0.beta4) 
    Using mime-types (1.16) 
    Using polyglot (0.3.1) 
    Using treetop (1.4.8) 
    Using mail (2.2.5) 
    Using actionmailer (3.0.0.beta4) 
    Using arel (0.4.0) 
    Using activerecord (3.0.0.beta4) 
    Using activeresource (3.0.0.beta4) 
    Using bundler (1.0.0.beta.1) 
    Using culerity (0.2.10) 
    Using nokogiri (1.4.2) 
    Using ffi (0.6.3) 
    Using json_pure (1.4.3) 
    Using selenium-webdriver (0.0.24) 
    Using capybara (0.3.8) 
    Using celerity (0.7.9) 
    Using cgi_multipart_eof_fix (2.5.0) 
    Using configuration (1.1.0) 
    Using daemons (1.1.0) 
    Using database_cleaner (0.5.2) 
    Using diff-lcs (1.1.2) 
    Using factory_girl (1.3.1) 
    Using thor (0.13.7) 
    Using railties (3.0.0.beta4) 
    Using rails (3.0.0.beta4) 
    Using factory_girl_rails (1.0) 
    Using fastthread (1.0.7) 
    Using gem_plugin (0.2.3) 
    Using haml (3.0.12) 
    Using hpricot (0.8.2) 
    Using launchy (0.3.5) 
    Using mkdtemp (1.1.1) 
    Using mongrel (1.1.5) 
    Using mysql (2.8.1) 
    Using rr (0.10.11) 
    Using rspec-core (2.0.0.beta.14) 
    Using rspec-expectations (2.0.0.beta.14) 
    Using rspec-mocks (2.0.0.beta.14) 
    Using rspec (2.0.0.beta.14) 
    Using webrat (0.7.1) 
    Using rspec-rails (2.0.0.beta.14.1) 
    Using steak (0.4.0.beta.1) from git://github.com/cavalle/steak.git (at master) 
    Using wikitext (2.0) 
    Updating .gem files in vendor/cache
    Removing outdated .gem files from vendor/cache
      * jruby-openssl-0.7.gem
    Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

    And now output of bundle show:

    Gems included by the bundle:
      * abstract (1.0.0)
      * actionmailer (3.0.0.beta4)
      * actionpack (3.0.0.beta4)
      * activemodel (3.0.0.beta4)
      * activerecord (3.0.0.beta4)
      * activeresource (3.0.0.beta4)
      * activesupport (3.0.0.beta4)
      * arel (0.4.0)
      * builder (2.1.2)
      * bundler (1.0.0.beta.1)
      * capybara (0.3.8)
      * celerity (0.7.9)
      * cgi_multipart_eof_fix (2.5.0)
      * configuration (1.1.0)
      * culerity (0.2.10)
      * daemons (1.1.0)
      * database_cleaner (0.5.2)
      * diff-lcs (1.1.2)
      * erubis (2.6.6)
      * factory_girl (1.3.1)
      * factory_girl_rails (1.0)
      * fastthread (1.0.7)
      * ffi (0.6.3)
      * gem_plugin (0.2.3)
      * haml (3.0.12)
      * hpricot (0.8.2)
      * i18n (0.4.1)
      * json_pure (1.4.3)
      * launchy (0.3.5)
      * mail (2.2.5)
      * mime-types (1.16)
      * mkdtemp (1.1.1)
      * mongrel (1.1.5)
      * mysql (2.8.1)
      * nokogiri (1.4.2)
      * polyglot (0.3.1)
      * rack (1.1.0)
      * rack-mount (0.6.6)
      * rack-test (0.5.4)
      * rails (3.0.0.beta4)
      * railties (3.0.0.beta4)
      * rake (0.8.7)
      * rr (0.10.11)
      * rspec (2.0.0.beta.14)
      * rspec-core (2.0.0.beta.14)
      * rspec-expectations (2.0.0.beta.14)
      * rspec-mocks (2.0.0.beta.14)
      * rspec-rails (2.0.0.beta.14.1)
      * selenium-webdriver (0.0.24)
      * steak (0.4.0.beta.1 77d6391)
      * thor (0.13.7)
      * treetop (1.4.8)
      * tzinfo (0.3.22)
      * webrat (0.7.1)
      * wikitext (2.0)
  12. Greg Hurrell 6/28/2010

    Something I hadn't noticed before among all the hanging specs, broken pipes, and failures, is this:

    1) Logging in to the site: logging in and seeing a flash
        Failure/Error: visit '/login'
        (eval):1:in `process_result': compile error
        (eval):1: Invalid char `\033' in expression
        (eval):1: syntax error, unexpected tIDENTIFIER, expecting ']'
        Could not find gem 'weakling (>= 0....

    Note that last line, Could not find gem 'weakling ....

    So, under rspec ..., it must be finding it from somewhere, or an alternative. It is not installed anywhere on my system.

    No mention of weakling in either the Culerity or Celerity repos.

    Adding seems to fix the hanging. More digging, looks to be a dependency of Nokogiri (Java flavor).

  13. Greg Hurrell 6/28/2010

    Sigh, but it's still all over the place. Hangs once, succeeds once.

  14. Greg Hurrell 6/28/2010

    Ok, think I'm getting to the bottom of it at last.

    Both bundle exec ... and rake ... end up exporting RUBYOPT; specifically:

    -I/Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib -rbundler/setup

    What does bundler/setup do? Basically, consult the Gemfile and do Bundler.setup.

    We can throw the baby out with the bathwater by ensuring that RUBYOPT is unset before we actually run our Culerity-using specs, and they work every time. But this is evidently a horrible kludge. We should be able to make it so that the specs work even with RUBYOPT set that way.

    As a test, I tried to run this simple command line:

    $ jruby -I/Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib -rbundler/setup -e "puts 1 + 1"
    Could not find rake-0.8.7 in any of the sources

    It is evidently looking for one of the dependencies of Rails. Perhaps, then, this is what is happening when our specs fail (or perhaps not; it is still unclear why they only fail intermittently).

    If we skip the evaluation of bundler/setup we succeed:

    $ jruby -I/Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib -e "puts 1 + 1"
    2

    But this test isn't really fair because in reality there are other things in the load path when we actually try to run the specs.

    So let's do a somewhat lengthier test. Let's take the actual contents of the load path and pass them in as arguments:

    $ jruby -I/Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib \
    -I/Users/wincent/.bundle/gems/haml-3.0.12/vendor/fssm/lib \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/app/controllers \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/app/helpers \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/app/mailers \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/app/models \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/app/sweepers \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/lib \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/vendor \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/vendor/plugins/rails_upgrade/lib \
    -I/Users/wincent/trabajo/unversioned/wincent.dev/src/spec \
    -I/Users/wincent/.bundle/gems/wikitext-2.0/lib \
    -I/Users/wincent/.bundle/gems/wikitext-2.0/ext \
    -I/Users/wincent/.bundle/bundler/gems/steak-77d6391/lib \
    -I/Users/wincent/.bundle/gems/rspec-rails-2.0.0.beta.14.1/lib \
    -I/Library/Ruby/Gems/1.8/gems/webrat-0.7.1/lib \
    -I/Users/wincent/.bundle/gems/rspec-2.0.0.beta.14/lib \
    -I/Users/wincent/.bundle/gems/rspec-mocks-2.0.0.beta.14/lib \
    -I/Users/wincent/.bundle/gems/rspec-expectations-2.0.0.beta.14/lib \
    -I/Users/wincent/.bundle/gems/rspec-core-2.0.0.beta.14/lib \
    -I/Library/Ruby/Gems/1.8/gems/rr-0.10.11/lib \
    -I/Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext \
    -I/Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/ext \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib \
    -I/Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/lib \
    -I/Library/Ruby/Gems/1.8/gems/mkdtemp-1.1.1/ext \
    -I/Users/wincent/.bundle/gems/launchy-0.3.5/lib \
    -I/Users/wincent/.bundle/gems/jruby-openssl-0.7/lib \
    -I/Users/wincent/.bundle/gems/hpricot-0.8.2/lib \
    -I/Users/wincent/.bundle/gems/haml-3.0.12/lib \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib \
    -I/Users/wincent/.bundle/gems/fastthread-1.0.7/ext \
    -I/Users/wincent/.bundle/gems/fastthread-1.0.7/lib \
    -I/Users/wincent/.bundle/gems/factory_girl_rails-1.0/lib \
    -I/Library/Ruby/Gems/1.8/gems/rails-3.0.0.beta4/lib \
    -I/Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta4/lib \
    -I/Users/wincent/.bundle/gems/thor-0.13.7/lib \
    -I/Users/wincent/.bundle/gems/factory_girl-1.3.1/lib \
    -I/Library/Ruby/Gems/1.8/gems/diff-lcs-1.1.2/lib \
    -I/Users/wincent/.bundle/gems/database_cleaner-0.5.2/lib \
    -I/Users/wincent/.bundle/gems/daemons-1.1.0/lib \
    -I/Users/wincent/.bundle/gems/configuration-1.1.0/lib \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/cgi_multipart_eof_fix-2.5.0/lib \
    -I/Users/wincent/.bundle/gems/celerity-0.7.9/lib \
    -I/Library/Ruby/Gems/1.8/gems/capybara-0.3.8/lib \
    -I/Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/remote/client/src/rb/lib \
    -I/Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/jobbie/src/rb/lib \
    -I/Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/chrome/src/rb/lib \
    -I/Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/firefox/src/rb/lib \
    -I/Library/Ruby/Gems/1.8/gems/selenium-webdriver-0.0.24/common/src/rb/lib \
    -I/Library/Ruby/Gems/1.8/gems/json_pure-1.4.3/lib \
    -I/Library/Ruby/Gems/1.8/gems/ffi-0.6.3/ext \
    -I/Library/Ruby/Gems/1.8/gems/ffi-0.6.3/lib \
    -I/Library/Ruby/Gems/1.8/gems/nokogiri-1.4.2/lib \
    -I/Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib \
    -I/Library/Ruby/Gems/1.8/gems/activeresource-3.0.0.beta4/lib \
    -I/Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta4/lib \
    -I/Library/Ruby/Gems/1.8/gems/arel-0.4.0/lib \
    -I/Library/Ruby/Gems/1.8/gems/actionmailer-3.0.0.beta4/lib \
    -I/Users/wincent/.bundle/gems/mail-2.2.5/lib \
    -I/Users/wincent/.bundle/gems/treetop-1.4.8/lib \
    -I/Library/Ruby/Gems/1.8/gems/polyglot-0.3.1/lib \
    -I/Library/Ruby/Gems/1.8/gems/mime-types-1.16/lib \
    -I/Library/Ruby/Gems/1.8/gems/actionpack-3.0.0.beta4/lib \
    -I/Users/wincent/.bundle/gems/tzinfo-0.3.22/lib \
    -I/Library/Ruby/Gems/1.8/gems/rack-test-0.5.4/lib \
    -I/Users/wincent/.bundle/gems/rack-mount-0.6.6/lib \
    -I/Library/Ruby/Gems/1.8/gems/rack-1.1.0/lib \
    -I/Users/wincent/.bundle/gems/erubis-2.6.6/lib \
    -I/Library/Ruby/Gems/1.8/gems/activemodel-3.0.0.beta4/lib \
    -I/Library/Ruby/Gems/1.8/gems/i18n-0.4.1/lib \
    -I/Library/Ruby/Gems/1.8/gems/builder-2.1.2/lib \
    -I/Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib \
    -I/Library/Ruby/Gems/1.8/gems/abstract-1.0.0/lib \
    -I/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib \
    -Ilib \
    -Ispec \
    -I/Library/Ruby/Gems/1.8/gems/bundler-1.0.0.beta.1/lib \
    -I/Library/Ruby/Site/1.8 \
    -I/Library/Ruby/Site/1.8/powerpc-darwin10.0 \
    -I/Library/Ruby/Site/1.8/universal-darwin10.0 \
    -I/Library/Ruby/Site \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8 \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin10.0 \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8 \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin10.0 \
    -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 \
    -I. \
    -I/Library/Ruby/Gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_controller/vendor/html-scanner \
    -I/Users/wincent/.bundle/gems/rack-mount-0.6.6/lib/rack/mount/vendor/multimap \
    -I/Users/wincent/.bundle/gems/rack-mount-0.6.6/lib/rack/mount/vendor/regin \
    -rbundler/setup -e "puts 1 + 1"
    Could not find rake-0.8.7 in any of the sources

    Evidently merely being in the load path is not enough (because rake is in the load path).

  15. Greg Hurrell 6/28/2010

    The one thing I am still not sure of is where RUBYOPT is getting set in the case of running rake spec:acceptance (it's obvious in the case of bundle exec).

    It's not set in any of the lib/tasks/*.rake files. It's not set by the bottom of the Rakefile. It's not set in config/application.rb. It is set by the time we hit the top of spec_helper.rb.

    Ok, looks like I found it: rspec-core/lib/rspec/core/rake_task.rb

    Need to analyse that file a bit to find out what it's doing, but if I turn on verbose output I can see it's doing:

    bundle exec /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby \
      -Ilib \
      -Ispec \
      "spec/acceptance/issues/search_spec.rb" \
      "spec/acceptance/products/index_spec.rb" \
      "spec/acceptance/regressions/76968b7_spec.rb" \
      "spec/acceptance/sessions_spec.rb"
  16. Greg Hurrell 6/29/2010

    Have a workaround now. Filed a ticket upstream explaining my findings and trying to see if this is going to be the right/best solution going forward:

    • http://github.com/carlhuda/bundler/issues/issue/407
  17. Greg Hurrell 7/5/2010

    Fully resolved now. Marking as closed.

  18. Greg Hurrell 7/5/2010

    Status changed:

    • From: new
    • To: closed
Add a comment

Comments are now closed for this issue.

  • contact
  • legal

Menu

  • Blog
  • Wiki
  • Issues
  • Snippets