diff options
Diffstat (limited to 'dev-ruby/fssm/files/fssm-0.2.7-test.patch')
-rw-r--r-- | dev-ruby/fssm/files/fssm-0.2.7-test.patch | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/dev-ruby/fssm/files/fssm-0.2.7-test.patch b/dev-ruby/fssm/files/fssm-0.2.7-test.patch new file mode 100644 index 000000000000..775a016f8d95 --- /dev/null +++ b/dev-ruby/fssm/files/fssm-0.2.7-test.patch @@ -0,0 +1,237 @@ +commit e997e7411d5ffd041331b03b298b0919a3250ff7 +Author: Travis Tilley <ttilley@gmail.com> +Date: Sat Jul 30 02:19:10 2011 -0400 + + more brutal honesty, document important FIXME items, and comment out specs for functionality that has never worked outside the polling backend ever + +diff --git a/spec/monitor_spec.rb b/spec/monitor_spec.rb +index 08d465f..2ebba9a 100644 +--- a/spec/monitor_spec.rb ++++ b/spec/monitor_spec.rb +@@ -1,3 +1,8 @@ ++# FIXME: burn this shit with fire for chrissake. this is not an acceptable ++# test suite. given variance between ruby versions and backends ++# regarding threads this is quite likely one of the most brittle ++# test suites EVAR. ++ + require 'spec_helper' + + require 'count_down_latch' +@@ -43,6 +48,12 @@ module FSSM::MonitorSpecHelpers + end + end + ++RSpec::Matchers.define :intersect_with do |test_enum| ++ match do |result_enum| ++ (result_enum & test_enum).length == test_enum.length ++ end ++end ++ + describe "The File System State Monitor" do + describe "monitor" do + include FSSM::MonitorSpecHelpers +@@ -62,29 +73,29 @@ describe "The File System State Monitor" do + File.exists?(file).should be_false + FileUtils.touch file + end +- @handler_results[:create].should == [[@tmp_dir, 'newfile.rb']] ++ @handler_results[:create].should include([@tmp_dir, 'newfile.rb']) + end + + it "should call update callback upon file modification" do + run_monitor(1) do + FileUtils.touch @tmp_dir + '/root/file.rb' + end +- @handler_results[:update].should == [[@tmp_dir, 'root/file.rb']] ++ @handler_results[:update].should include([@tmp_dir, 'root/file.rb']) + end + + it "should call delete callback upon file deletion" do + run_monitor(1) do + FileUtils.rm @tmp_dir + "/root/file.rb" + end +- @handler_results[:delete].should == [[@tmp_dir, 'root/file.rb']] ++ @handler_results[:delete].should include([@tmp_dir, 'root/file.rb']) + end + + it "should call create and delete callbacks upon file renaming in the same directory" do + run_monitor(2) do + FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/root/old_file.rb" + end +- @handler_results[:create].should == [[@tmp_dir, 'root/old_file.rb']] +- @handler_results[:delete].should == [[@tmp_dir, 'root/file.rb']] ++ @handler_results[:create].should include([@tmp_dir, 'root/old_file.rb']) ++ @handler_results[:delete].should include([@tmp_dir, 'root/file.rb']) + @handler_results[:update].should == [] + end + +@@ -92,8 +103,8 @@ describe "The File System State Monitor" do + run_monitor(2) do + FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/old_file.rb" + end +- @handler_results[:create].should == [[@tmp_dir, 'old_file.rb']] +- @handler_results[:delete].should == [[@tmp_dir, 'root/file.rb']] ++ @handler_results[:create].should include([@tmp_dir, 'old_file.rb']) ++ @handler_results[:delete].should include([@tmp_dir, 'root/file.rb']) + @handler_results[:update].should == [] + end + +@@ -122,81 +133,83 @@ describe "The File System State Monitor" do + @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory]) + end + +- it "should call create, update, and delete callbacks upon directory renaming in the same directory" do +- run_monitor(3, :directories => true) do +- FileUtils.mv @tmp_dir + "/root/yawn", @tmp_dir + "/root/old_yawn" +- end +- @handler_results[:create].should include([@tmp_dir, 'root/old_yawn', :directory]) +- @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory]) +- @handler_results[:update].should include([@tmp_dir, 'root', :directory]) +- end +- +- it "should call create, update, and delete callbacks upon directory moving to another directory" do +- run_monitor(3, :directories => true) do +- FileUtils.mv @tmp_dir + "/root/yawn", @tmp_dir + "/old_yawn" +- end +- @handler_results[:create].should include([@tmp_dir, 'old_yawn', :directory]) +- @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory]) +- @handler_results[:update].should include([@tmp_dir, 'root', :directory]) +- end +- +- it "should call create, update, and delete callbacks upon file renaming in the same directory" do +- run_monitor(3, :directories => true) do +- FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/root/old_file.rb" +- end +- @handler_results[:create].should include([@tmp_dir, 'root/old_file.rb', :file]) +- @handler_results[:delete].should include([@tmp_dir, 'root/file.rb', :file]) +- @handler_results[:update].should include([@tmp_dir, 'root', :directory]) +- end +- +- it "should call create, update, and delete callbacks upon file moving to another directory" do +- run_monitor(3, :directories => true) do +- FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/old_file.rb" +- end +- @handler_results[:create].should include([@tmp_dir, 'old_file.rb', :file]) +- @handler_results[:delete].should include([@tmp_dir, 'root/file.rb', :file]) +- @handler_results[:update].should include([@tmp_dir, 'root', :directory]) +- end +- +- it "should call delete callbacks upon directory structure deletion, in reverse order" do +- expected_delete_events = [ +- ['root/yawn', :directory], +- ['root/moo/cow.txt', :file], +- ['root/moo', :directory], +- ['root/file.yml', :file], +- ['root/file.rb', :file], +- ['root/file.css', :file], +- ['root/duck/quack.txt', :file], +- ['root/duck', :directory], +- ['root', :directory] +- ] +- run_monitor(expected_delete_events.size, :directories => true) do +- FileUtils.rm_rf @tmp_dir + '/.' +- end +- @handler_results[:create].should == [] +- @handler_results[:delete].should == expected_delete_events.map { |(file, type)| [@tmp_dir, file, type] } +- @handler_results[:update].should == [] +- end +- +- it "should call create callbacks upon directory structure creation, in order" do +- expected_create_events = [ +- ['new_root', :directory], +- ['new_root/duck', :directory], +- ['new_root/duck/quack.txt', :file], +- ['new_root/file.css', :file], +- ['new_root/file.rb', :file], +- ['new_root/file.yml', :file], +- ['new_root/moo', :directory], +- ['new_root/moo/cow.txt', :file], +- ['new_root/yawn', :directory] +- ] +- run_monitor(expected_create_events.size, :directories => true) do +- FileUtils.cp_r @tmp_dir + '/root/.', @tmp_dir + '/new_root' +- end +- @handler_results[:create].should == expected_create_events.map { |(file, type)| [@tmp_dir, file, type] } +- @handler_results[:delete].should == [] +- @handler_results[:update].should == [] +- end ++# FIXME: this never worked outside the polling backend. ++# ++# it "should call create, update, and delete callbacks upon directory renaming in the same directory" do ++# run_monitor(3, :directories => true) do ++# FileUtils.mv @tmp_dir + "/root/yawn", @tmp_dir + "/root/old_yawn" ++# end ++# @handler_results[:create].should include([@tmp_dir, 'root/old_yawn', :directory]) ++# @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory]) ++# @handler_results[:update].should include([@tmp_dir, 'root', :directory]) ++# end ++# ++# it "should call create, update, and delete callbacks upon directory moving to another directory" do ++# run_monitor(3, :directories => true) do ++# FileUtils.mv @tmp_dir + "/root/yawn", @tmp_dir + "/old_yawn" ++# end ++# @handler_results[:create].should include([@tmp_dir, 'old_yawn', :directory]) ++# @handler_results[:delete].should include([@tmp_dir, 'root/yawn', :directory]) ++# @handler_results[:update].should include([@tmp_dir, 'root', :directory]) ++# end ++# ++# it "should call create, update, and delete callbacks upon file renaming in the same directory" do ++# run_monitor(3, :directories => true) do ++# FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/root/old_file.rb" ++# end ++# @handler_results[:create].should include([@tmp_dir, 'root/old_file.rb', :file]) ++# @handler_results[:delete].should include([@tmp_dir, 'root/file.rb', :file]) ++# @handler_results[:update].should include([@tmp_dir, 'root', :directory]) ++# end ++# ++# it "should call create, update, and delete callbacks upon file moving to another directory" do ++# run_monitor(3, :directories => true) do ++# FileUtils.mv @tmp_dir + "/root/file.rb", @tmp_dir + "/old_file.rb" ++# end ++# @handler_results[:create].should include([@tmp_dir, 'old_file.rb', :file]) ++# @handler_results[:delete].should include([@tmp_dir, 'root/file.rb', :file]) ++# @handler_results[:update].should include([@tmp_dir, 'root', :directory]) ++# end ++# ++# it "should call delete callbacks upon directory structure deletion" do ++# expected_delete_events = [ ++# [@tmp_dir, 'root/yawn', :directory], ++# [@tmp_dir, 'root/moo/cow.txt', :file], ++# [@tmp_dir, 'root/moo', :directory], ++# [@tmp_dir, 'root/file.yml', :file], ++# [@tmp_dir, 'root/file.rb', :file], ++# [@tmp_dir, 'root/file.css', :file], ++# [@tmp_dir, 'root/duck/quack.txt', :file], ++# [@tmp_dir, 'root/duck', :directory], ++# [@tmp_dir, 'root', :directory] ++# ] ++# run_monitor(expected_delete_events.size, :directories => true) do ++# FileUtils.rm_rf @tmp_dir + '/.' ++# end ++# @handler_results[:create].should == [] ++# @handler_results[:delete].should intersect_with(expected_delete_events) ++# @handler_results[:update].should == [] ++# end ++# ++# it "should call create callbacks upon directory structure creation" do ++# expected_create_events = [ ++# [@tmp_dir, 'new_root', :directory], ++# [@tmp_dir, 'new_root/duck', :directory], ++# [@tmp_dir, 'new_root/duck/quack.txt', :file], ++# [@tmp_dir, 'new_root/file.css', :file], ++# [@tmp_dir, 'new_root/file.rb', :file], ++# [@tmp_dir, 'new_root/file.yml', :file], ++# [@tmp_dir, 'new_root/moo', :directory], ++# [@tmp_dir, 'new_root/moo/cow.txt', :file], ++# [@tmp_dir, 'new_root/yawn', :directory] ++# ] ++# run_monitor(expected_create_events.size, :directories => true) do ++# FileUtils.cp_r @tmp_dir + '/root/.', @tmp_dir + '/new_root' ++# end ++# @handler_results[:create].should intersect_with(expected_create_events) ++# @handler_results[:delete].should == [] ++# @handler_results[:update].should == [] ++# end + end + end + end |