spec: abort runner on Errno::ENOMEM

ABORT_ON_CONSISTENT_BADNESS doesn't catch it if it happens during driver
setup. rather than retrying 10 times, just bail and hope that the other
test-queue nodes will have better luck

test plan:

1. see earlier patchsets how test-queue runners stopped when they hit
   those, and other runners got the rest of the specs

Change-Id: I2bdfeafd8fbf5e1404952d92548f4ae62567575e
Reviewed-on: https://gerrit.instructure.com/73546
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
This commit is contained in:
Jon Jensen 2016-03-02 12:50:19 -07:00
parent 19624509e1
commit 950c81185d
1 changed files with 4 additions and 0 deletions

View File

@ -66,6 +66,10 @@ shared_context "in-process server selenium tests" do
def maybe_recover_from_exception(exception)
case exception
when Errno::ENOMEM
# no sense trying anymore, give up and hope that other nodes pick up the slack
puts "Error: got `#{exception}`, aborting"
RSpec.world.wants_to_quit = true
when EOFError, Errno::ECONNREFUSED, Net::ReadTimeout
if $selenium_driver && !RSpec.world.wants_to_quit && exception.backtrace.grep(/selenium-webdriver/).present?
puts "SELENIUM: webdriver is misbehaving. Will try to re-initialize."