Unable to get rid of backtrace when running specs (rspec2, rails3)

Hi,

I can’t seem to silence the stack trace when running specs.

Pending specs get this output:

ChannelsController GET new responds to xml

why would we want to render xml for Channel.new?

./spec/controllers/channel_controller_spec.rb:89

Failing specs get this:

Failures:

  1. ChannelsController POST create failing example
    Failure/Error: post :create, {:channel => channel}
    undefined method `save’ for nil:NilClass

    /gems/activesupport-3.0.0/lib/active_support/whiny_nil.rb:48:in

method_missing' . . ( 30 or so more lines ) . # /gems/spork-0.8.4/lib/spork/server.rb:47:in run’

Here’s what I have so far:

I’ve grepped through my project to check whether something is setting
the --backtrace option, but as far as I can tell, it’s not set.
I also did

cd myproject; grep -lre ‘-b’
which matched a bunch of temporary files and binary files, but nothing
that seemed remotely relevant.

The command I am using to kick off the tests is

rspec --drb spec

I’ve tried running the tests in several ways: with and without
spork/DRb, and by calling each of these:

rspec spec
rake spec
bundle exec rspec spec
All of these give me a noisy backtrace.

Interestingly, when I use rake, the full rails environment gets loaded
twice. I haven’t figured that one out yet, either.

Here are as many of the environment variables as I can think might be
relevant:

cat .rspec
–colour
–format progress

ruby -v
ruby 1.9.2p14 (2010-10-02 revision 29393) [x86_64-darwin10.4.0]

rvm -v
rvm 1.0.12

gem list
*** LOCAL GEMS ***
abstract (1.0.0)
actionmailer (3.0.0)
actionpack (3.0.0)
activemodel (3.0.0)
activerecord (3.0.0)
activeresource (3.0.0)
activesupport (3.0.0)
acts_as_state_machine (2.2.0)
arel (1.0.1)
autotest (4.4.1)
aws-s3 (0.6.2)
builder (2.1.2)
bundler (1.0.1)
commonwatir (1.6.5)
compass (0.10.5)
cucumber (0.9.2)
cucumber-rails (0.3.2)
diff-lcs (1.1.2)
erubis (2.6.6)
firewatir (1.6.5)
gherkin (2.2.8)
haml (3.0.21)
hoe (2.6.2)
httpclient (2.1.5.2)
i18n (0.4.1)
jquery-rails (0.2.1)
json (1.4.6)
json_pure (1.4.6)
mail (2.2.6.1)
mime-types (1.16)
nokogiri (1.4.3.1)
paperclip (2.3.3)
pg (0.9.0)
polyglot (0.3.1)
rack (1.2.1)
rack-mount (0.6.13)
rack-test (0.5.6)
rails (3.0.0)
railties (3.0.0)
rake (0.8.7)
rspec (2.0.0.rc)
rspec-core (2.0.0.rc)
rspec-expectations (2.0.0.rc)
rspec-mocks (2.0.0.rc)
rspec-rails (2.0.0.rc)
rubyforge (2.0.4)
s4t-utils (1.0.4)
spork (0.8.4)
term-ansicolor (1.0.5)
thor (0.14.2)
treetop (1.4.8)
tzinfo (0.3.23)
user-choices (1.1.6.1)
watchr (0.7)
webrat (0.7.1)
will_paginate (2.3.15)
xml-simple (1.0.12)

gem environment
RubyGems Environment:

  • RUBYGEMS VERSION: 1.3.7
  • RUBY VERSION: 1.9.2 (2010-10-02 patchlevel 14) [x86_64-darwin10.4.0]
  • INSTALLATION DIRECTORY: /.rvm/gems/ruby-1.9.2-head@prq
  • RUBY EXECUTABLE: /.rvm/rubies/ruby-1.9.2-head/bin/ruby
  • EXECUTABLE DIRECTORY: /.rvm/gems/ruby-1.9.2-head@prq/bin
  • RUBYGEMS PLATFORMS:
    • ruby
    • x86_64-darwin-10
  • GEM PATHS:
    • /.rvm/gems/ruby-1.9.2-head@prq
    • /.rvm/gems/ruby-1.9.2-head@global
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :benchmark => false
    • :backtrace => false
    • :bulk_threshold => 1000
    • “install” => “–no-rdoc --no-ri”
    • “update” => “–no-rdoc --no-ri”
  • REMOTE SOURCES:

Any idea whether there are gems that set some configuration options
that would turn the --backtrace option on for rspec?

I’m not sure where to look next, and would be grateful for any
suggestions/pointers!

Cheers,
Katrina

On Oct 5, 2010, at 6:19 PM, Katrina Owen wrote:

Failing specs get this:
# /gems/spork-0.8.4/lib/spork/server.rb:47:in `run’

ruby 1.9.2p14 (2010-10-02 revision 29393) [x86_64-darwin10.4.0]
activerecord (3.0.0)
cucumber (0.9.2)
json (1.4.6)
rails (3.0.0)
term-ansicolor (1.0.5)
RubyGems Environment:
- /.rvm/gems/ruby-1.9.2-head@global

Any idea whether there are gems that set some configuration options
that would turn the --backtrace option on for rspec?

I’m not sure where to look next, and would be grateful for any
suggestions/pointers!

This needs some docs, but there is a configuration option called
backtrace_clean_patterns that you can append to:

RSpec::configure do |c|
backtrace_clean_patterns << /gems//
end

Maybe we should make that part of the default list?

HTH,
David

On Wed, Oct 6, 2010 at 1:44 AM, David C. [email protected]
wrote:

Maybe we should make that part of the default list?

Thank you, David – this worked beautifully.

It would be great to have that available in the default list.

Cheers,
Katrina

On Oct 6, 2010, at 2:33 AM, Katrina Owen wrote:

Maybe we should make that part of the default list?

Thank you, David – this worked beautifully.

It would be great to have that available in the default list.

Cheers,
David