Skip to content

Instantly share code, notes, and snippets.

@gabebw
Created June 25, 2011 18:31
Show Gist options
  • Save gabebw/1046746 to your computer and use it in GitHub Desktop.
Save gabebw/1046746 to your computer and use it in GitHub Desktop.
Intermittent capybara-webkit failures
$ rake spec:javascripts --trace
** Invoke spec:javascripts (first_time)
** Execute spec:javascripts
>> "Visit"
>> 1
>> 43
>> "http://127.0.0.1:65427/run/notifier_spec.js"
<< "ok\n"
<< "0\n"
<< ""
>> "Evaluate"
>> 1
>> 14
>> "Evergreen.dots"
QCoreApplication::postEvent: Unexpected null receiver
<< "ok\n"
<< "0\n"
<< ""
rake aborted!
private method `sub' called for nil:NilClass
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:54:in `examples'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/capybara-1.0.0/lib/capybara/session.rb:244:in `wait_until'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/capybara-1.0.0/lib/capybara/util/timeout.rb:13:in `timeout'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/capybara-1.0.0/lib/capybara/session.rb:244:in `wait_until'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:52:in `examples'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:78:in `dots'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:129:in `dots'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:129:in `map'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:129:in `dots'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/runner.rb:103:in `run'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/evergreen/suite.rb:21:in `run'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/evergreen-0.4.1/lib/tasks/evergreen.rake:4
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/Users/gabe/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/gems/rake-0.8.7/bin/rake:31
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/bin/rake:19:in `load'
/Users/gabe/.rvm/gems/ree-1.8.7-2011.03@hoptoad/bin/rake:19
$ rake spec:javascripts --trace
** Invoke spec:javascripts (first_time)
** Execute spec:javascripts
>> "Visit"
>> 1
>> 43
>> "http://127.0.0.1:49214/run/notifier_spec.js"
<< "ok\n"
<< "0\n"
<< ""
>> "Evaluate"
>> 1
>> 14
>> "Evergreen.dots"
<< "ok\n"
<< "3\n"
<< "\".\""
. >> "Evaluate"
>> 1
>> 14
>> "Evergreen.done"
<< "ok\n"
<< "4\n"
<< "true"
>> "Evaluate"
>> 1
>> 14
>> "Evergreen.dots"
<< "ok\n"
<< "3\n"
<< "\".\""
>> "Evaluate"
>> 1
>> 22
>> "Evergreen.getResults()"
<< "ok\n"
<< "91\n"
<< "\"[{\\\"name\\\":\\\"Hoptoad notifier should create a form inside the iframe.\\\",\\\"passed\\\":true}]\""
Finished in 1.08 seconds
1 examples, 0 failures
// spec/javascripts/notifier_spec.js
describe('Hoptoad notifier', function() {
it('should create a form inside the iframe', function() {
var head = document.getElementsByTagName('head')[0];
// Note: this seems to always(?) pass if I use 'p' instead of 'iframe'
head.appendChild(document.createElement('iframe'));
});
});
# config/evergreen.rb
require Rails.root.join('socket_debugger') # from git repo
Capybara.register_driver :webkit do |app|
browser_opts = {:socket_class => SocketDebugger}
browser = Capybara::Driver::Webkit::Browser.new(browser_opts)
Capybara::Driver::Webkit.new(app, :browser => browser)
end
Evergreen.configure do |config|
config.driver = :webkit
end
$ bundle list
Gems included by the bundle:
* RedCloth (4.2.3)
* Saikuro (1.1.0)
* SystemTimer (1.2.1)
* abstract (1.0.0)
* actionmailer (3.0.7)
* actionpack (3.0.7)
* activemerchant (1.9.3)
* activemodel (3.0.7)
* activerecord (3.0.7)
* activeresource (3.0.7)
* activesupport (3.0.7)
* addressable (2.2.2)
* arel (2.0.9)
* arrayfields (4.7.4)
* aws-s3 (0.6.2)
* bluepill (0.0.48)
* bourne (1.0)
* braintree (2.6.3)
* bson (1.3.0)
* bson_ext (1.3.0)
* builder (2.1.2)
* bundler (1.0.13)
* capistrano (2.5.19)
* capistrano-ext (1.2.1)
* capybara (1.0.0)
* capybara-webkit (1.0.0.beta4 b6a09ee)
* childprocess (0.1.9)
* chronic (0.2.3)
* churn (0.0.13)
* coffee-script (2.2.0)
* coffee-script-source (1.1.1)
* colored (1.2)
* columnize (0.3.2)
* configuration (1.3.1)
* crack (0.1.8)
* cucumber (0.10.7)
* cucumber-rails (0.4.1)
* daemons (1.1.2)
* dalli (1.0.3)
* database_cleaner (0.6.0)
* diff-lcs (1.1.2)
* dynamic_form (1.1.3)
* email_spec (1.0.0)
* erubis (2.6.6)
* evergreen (0.4.1)
* execjs (1.2.0)
* factory_girl (1.3.3)
* factory_girl_rails (1.0.1)
* fakefs (0.2.1)
* faker (0.3.1)
* fattr (2.2.0)
* ffi (1.0.9)
* flay (1.4.1)
* flog (2.5.0)
* flutie (1.1.8)
* formtastic (1.2.2)
* gherkin (2.4.0)
* haml (3.0.25)
* heroku-nav (0.1.21)
* high_voltage (0.9.2)
* highline (1.6.1)
* hirb (0.3.6)
* hoe (2.8.0)
* hoptoad_notifier (2.4.11)
* i18n (0.5.0)
* jasmine (1.0.1.1)
* json (1.5.3)
* json_pure (1.5.3)
* kissmetrics (0.0.2)
* launchy (0.4.0)
* lighthouse-api (2.0 0ae4310)
* limerick_rake (0.0.2 c58397f)
* linecache (0.43)
* mail (2.2.19)
* main (4.4.0)
* memcache-client (1.8.5)
* metric_fu (2.0.1)
* mime-types (1.16)
* mocha (0.9.8)
* mongo (1.3.0)
* multi_json (1.0.3)
* mysql (2.8.1)
* net-scp (1.0.4)
* net-sftp (2.0.5)
* net-ssh (2.0.23)
* net-ssh-gateway (1.0.1)
* newrelic_rpm (3.0.0)
* nokogiri (1.4.6)
* paul_revere (0.1.5)
* polyglot (0.3.1)
* prototype_legacy_helper (0.0.0)
* rack (1.2.1 d7a3bb2)
* rack-mount (0.6.14)
* rack-openid (1.2.0)
* rack-test (0.5.7)
* rails (3.0.7)
* rails_best_practices (0.6.5)
* railties (3.0.7)
* rake (0.8.7)
* rcov (0.9.9)
* redgreen (1.2.2)
* redis (2.1.1)
* redis-namespace (0.10.0)
* reek (1.2.8)
* rest-client (1.6.1)
* rexml-expansion-fix (1.0.1)
* roodi (2.1.0)
* rspec (2.6.0)
* rspec-core (2.6.4)
* rspec-expectations (2.6.0)
* rspec-mocks (2.6.0)
* rspec-rails (2.6.1)
* ruby-debug (0.10.4)
* ruby-debug-base (0.10.4)
* ruby-openid (2.1.8)
* ruby-progressbar (0.0.9)
* ruby2ruby (1.2.5)
* ruby_parser (2.0.5)
* rubyzip (0.9.4)
* sass (3.1.1)
* selenium-client (1.2.18)
* selenium-rc (2.3.2)
* selenium-webdriver (0.2.2)
* sexp_processor (3.0.5)
* shoulda (2.11.3)
* sinatra (1.2.6)
* snogmetrics (0.1.6)
* state_machine (0.9.4)
* subdomain-fu (1.0.0.beta2 c6fbf94)
* term-ansicolor (1.0.5)
* test_benchmark (0.4.7)
* thor (0.14.6)
* tilt (1.3.2)
* timecop (0.3.5)
* treetop (1.4.9)
* tzinfo (0.3.27)
* validation_reflection (1.0.0)
* webmock (1.6.2)
* will_paginate (3.0.pre2)
* xml-simple (1.0.12)
* xpath (0.1.4)
* ya2yaml (0.30)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment