Skip to content

Commit

Permalink
Ask to delete fail files after successful replay.
Browse files Browse the repository at this point in the history
  • Loading branch information
byronm committed Apr 12, 2013
1 parent 39c90ee commit 3ae3cc7
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
source 'http://rubygems.org'

gem 'colorize', '~> 0.5.8'
gem 'highline', '~> 1.6.16'
gem 'selenium-webdriver', '~> 2.32.0'
2 changes: 2 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ GEM
ffi (~> 1.0, >= 1.0.11)
colorize (0.5.8)
ffi (1.6.0)
highline (1.6.16)
multi_json (1.7.2)
rubyzip (0.9.9)
selenium-webdriver (2.32.0)
Expand All @@ -19,4 +20,5 @@ PLATFORMS

DEPENDENCIES
colorize (~> 0.5.8)
highline (~> 1.6.16)
selenium-webdriver (~> 2.32.0)
22 changes: 20 additions & 2 deletions tests/scripts/selenium/fuzzer.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
require 'debugger'
require 'colorize'
require 'highline'
require 'selenium-webdriver'
require_relative 'selenium_adapter'

Expand Down Expand Up @@ -59,7 +60,8 @@ def read_deltas_from_file(file)
end
return deltas
rescue
raise "Please provide a valid file name to replay a fuzzer run.".colorize(:red)
puts "Please provide a valid file name to replay a fuzzer run.".colorize(:red)
abort
end
end

Expand All @@ -73,6 +75,15 @@ def write_deltas_to_file(doc_delta, rand_delta)
puts "Fuzzer failed. Writing state to #{file_path} for replays.".colorize(:red)
end

def delete_fail_file(file_name)
begin
FileUtils.rm("./fails/#{file_name}")
rescue
puts "Failed deleting file #{file_name}. Please ensure it still exists.".colorize(:red)
abort
end
end

def check_consistency(driver, replaying)
driver.switch_to.default_content
src = "return window.Fuzzer.checkConsistency();"
Expand All @@ -82,7 +93,14 @@ def check_consistency(driver, replaying)
rand_delta = js_get_as_str(driver, "randomDelta")
after_delta = js_get_cur_doc_delta_as_str(driver)
write_deltas_to_file(doc_delta, rand_delta) unless replaying
raise "doc_delta: #{doc_delta}, rand_delta: #{rand_delta}, actual: #{after_delta}"
puts "doc_delta: #{doc_delta}, rand_delta: #{rand_delta}, actual: #{after_delta}"
abort
else
if replaying
highline = HighLine.new
delete = highline.agree "Congrats, it passed! Would you like to delete the fail file? (y/n)".colorize(:green)
delete_fail_file(replaying) if delete
end
end
driver.switch_to.frame(driver.find_element(:tag_name, "iframe"))
end
Expand Down

0 comments on commit 3ae3cc7

Please sign in to comment.