test/test_file_find.rb in file-find-0.3.5 vs test/test_file_find.rb in file-find-0.3.6

- old
+ new

@@ -2,36 +2,31 @@ # test_file_find.rb # # Test case for the File::Find package. You should run this via the # 'rake test' task. ###################################################################### -require 'rubygems' -gem 'test-unit' - -require 'test/unit' +require 'test-unit' require 'fileutils' require 'file/find' -require 'rbconfig' begin - require 'sys/admin' + require 'sys/admin' rescue LoadError - require 'etc' + require 'etc' end -include Config include FileUtils class TC_File_Find < Test::Unit::TestCase def self.startup Dir.chdir(File.dirname(File.expand_path(__FILE__))) - @@windows = CONFIG['host_os'] =~ /win32|mswin|msdos|cygwin|mingw/i + @@windows = File::ALT_SEPARATOR @@jruby = RUBY_PLATFORM.match('java') unless @@windows - if @@jruby + if @@jruby || !defined? Sys::Admin @@loguser = Etc.getpwnam(Etc.getlogin) @@logroup = Etc.getgrgid(@@loguser.gid) else @@loguser = Sys::Admin.get_user(Sys::Admin.get_login) @@logroup = Sys::Admin.get_group(@@loguser.gid) @@ -65,404 +60,404 @@ @rule1 = File::Find.new(:name => '*.txt') @rule2 = File::Find.new end - def test_version - assert_equal('0.3.5', File::Find::VERSION) - end + def test_version + assert_equal('0.3.6', File::Find::VERSION) + end - def test_path - assert_respond_to(@rule1, :path) - assert_respond_to(@rule1, :path=) - assert_equal(Dir.pwd, @rule1.path) - end + def test_path + assert_respond_to(@rule1, :path) + assert_respond_to(@rule1, :path=) + assert_equal(Dir.pwd, @rule1.path) + end - def test_options - assert_respond_to(@rule1, :options) - assert_respond_to(@rule1, :options=) - assert_equal({:name => '*.txt'}, @rule1.options) - end + def test_options + assert_respond_to(@rule1, :options) + assert_respond_to(@rule1, :options=) + assert_equal({:name => '*.txt'}, @rule1.options) + end - def test_atime_basic - assert_respond_to(@rule1, :atime) - assert_respond_to(@rule1, :atime=) - assert_nil(@rule1.atime) - end + def test_atime_basic + assert_respond_to(@rule1, :atime) + assert_respond_to(@rule1, :atime=) + assert_nil(@rule1.atime) + end - def test_atime - rule1 = File::Find.new(:name => "*.rb", :atime => 0) - rule2 = File::Find.new(:name => "*.rb", :atime => 1) + def test_atime + rule1 = File::Find.new(:name => "*.rb", :atime => 0) + rule2 = File::Find.new(:name => "*.rb", :atime => 1) - assert_false(rule1.find.empty?) - assert_true(rule2.find.empty?) - end + assert_false(rule1.find.empty?) + assert_true(rule2.find.empty?) + end - def test_ctime_basic - assert_respond_to(@rule1, :ctime) - assert_respond_to(@rule1, :ctime=) - assert_nil(@rule1.ctime) - end + def test_ctime_basic + assert_respond_to(@rule1, :ctime) + assert_respond_to(@rule1, :ctime=) + assert_nil(@rule1.ctime) + end - def test_ctime - rule1 = File::Find.new(:name => "*.rb", :ctime => 0) - rule2 = File::Find.new(:name => "*.rb", :ctime => 1) + def test_ctime + rule1 = File::Find.new(:name => "*.rb", :ctime => 0) + rule2 = File::Find.new(:name => "*.rb", :ctime => 1) - assert_false(rule1.find.empty?) - assert_true(rule2.find.empty?) - end + assert_false(rule1.find.empty?) + assert_true(rule2.find.empty?) + end - def test_find_basic - assert_respond_to(@rule1, :find) - assert_nothing_raised{ @rule1.find } - end + def test_find_basic + assert_respond_to(@rule1, :find) + assert_nothing_raised{ @rule1.find } + end - def test_find - assert_kind_of(Array, @rule1.find) - assert_nil(@rule1.find{}) - end + def test_find + assert_kind_of(Array, @rule1.find) + assert_nil(@rule1.find{}) + end - def test_filetest_basic - assert_respond_to(@rule1, :filetest) - assert_respond_to(@rule1, :filetest=) - assert_nothing_raised{ @rule1.filetest } - assert_kind_of(Array, @rule1.filetest) - end + def test_filetest_basic + assert_respond_to(@rule1, :filetest) + assert_respond_to(@rule1, :filetest=) + assert_nothing_raised{ @rule1.filetest } + assert_kind_of(Array, @rule1.filetest) + end - def test_filetest_valid_options - assert_nothing_raised{ File::Find.new(:readable? => true) } - assert_nothing_raised{ File::Find.new(:writable? => true) } - end + def test_filetest_valid_options + assert_nothing_raised{ File::Find.new(:readable? => true) } + assert_nothing_raised{ File::Find.new(:writable? => true) } + end - def test_filetest - omit_if(@@windows && @@jruby, "Skipping file test on JRuby/Windows") + def test_filetest + omit_if(@@windows && @@jruby, "Skipping file test on JRuby/Windows") - rule = File::Find.new(:name => "*.doc", :writable? => true) - File.chmod(0644, @file_doc) + rule = File::Find.new(:name => "*.doc", :writable? => true) + File.chmod(0644, @file_doc) - assert_equal([@file_doc], rule.find.map{ |f| File.basename(f) }) + assert_equal([@file_doc], rule.find.map{ |f| File.basename(f) }) - File.chmod(0444, @file_doc) + File.chmod(0444, @file_doc) - assert_equal([], rule.find) - end + assert_equal([], rule.find) + end - def test_mtime - rule1 = File::Find.new(:name => "*.rb", :mtime => 0) - rule2 = File::Find.new(:name => "*.rb", :mtime => 1) + def test_mtime + rule1 = File::Find.new(:name => "*.rb", :mtime => 0) + rule2 = File::Find.new(:name => "*.rb", :mtime => 1) - assert_false(rule1.find.empty?) - assert_true(rule2.find.empty?) - end + assert_false(rule1.find.empty?) + assert_true(rule2.find.empty?) + end - def test_mtime_basic - assert_respond_to(@rule1, :mtime) - assert_respond_to(@rule1, :mtime=) - assert_nil(@rule1.mtime) - end + def test_mtime_basic + assert_respond_to(@rule1, :mtime) + assert_respond_to(@rule1, :mtime=) + assert_nil(@rule1.mtime) + end - def test_ftype_basic - assert_respond_to(@rule1, :ftype) - assert_respond_to(@rule1, :ftype=) - assert_nil(@rule1.ftype) - end + def test_ftype_basic + assert_respond_to(@rule1, :ftype) + assert_respond_to(@rule1, :ftype=) + assert_nil(@rule1.ftype) + end - def test_ftype - rule1 = File::Find.new(:name => "*.rb", :ftype => "file") - rule2 = File::Find.new(:name => "*.rb", :ftype => "characterSpecial") + def test_ftype + rule1 = File::Find.new(:name => "*.rb", :ftype => "file") + rule2 = File::Find.new(:name => "*.rb", :ftype => "characterSpecial") - assert_false(rule1.find.empty?) - assert_true(rule2.find.empty?) - end + assert_false(rule1.find.empty?) + assert_true(rule2.find.empty?) + end - def test_group_basic - assert_respond_to(@rule1, :group) - assert_respond_to(@rule1, :group=) - assert_nil(@rule1.group) - end + def test_group_basic + assert_respond_to(@rule1, :group) + assert_respond_to(@rule1, :group=) + assert_nil(@rule1.group) + end - def test_group_with_numeric_id - omit_if(@@windows, 'group test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.doc', :group => @@loguser.gid) - assert_equal([File.expand_path(@file_doc)], @rule1.find) - end + def test_group_with_numeric_id + omit_if(@@windows, 'group test skipped on MS Windows') + @rule1 = File::Find.new(:name => '*.doc', :group => @@loguser.gid) + assert_equal([File.expand_path(@file_doc)], @rule1.find) + end - def test_group_with_string - omit_if(@@windows, 'group test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.doc', :group => @@logroup.name) - assert_equal([File.expand_path(@file_doc)], @rule1.find) - end + def test_group_with_string + omit_if(@@windows, 'group test skipped on MS Windows') + @rule1 = File::Find.new(:name => '*.doc', :group => @@logroup.name) + assert_equal([File.expand_path(@file_doc)], @rule1.find) + end - def test_group_with_bad_id - omit_if(@@windows, 'group test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.doc', :group => 'totallybogus') - @rule2 = File::Find.new(:name => '*.doc', :group => 99999999) - assert_equal([], @rule1.find) - assert_equal([], @rule2.find) - end + def test_group_with_bad_id + omit_if(@@windows, 'group test skipped on MS Windows') + @rule1 = File::Find.new(:name => '*.doc', :group => 'totallybogus') + @rule2 = File::Find.new(:name => '*.doc', :group => 99999999) + assert_equal([], @rule1.find) + assert_equal([], @rule2.find) + end - def test_inum_basic - assert_respond_to(@rule1, :inum) - assert_respond_to(@rule1, :inum=) - assert_nil(@rule1.inum) - end + def test_inum_basic + assert_respond_to(@rule1, :inum) + assert_respond_to(@rule1, :inum=) + assert_nil(@rule1.inum) + end - def test_follow_basic - assert_respond_to(@rule1, :follow) - assert_respond_to(@rule1, :follow=) - assert_true(@rule1.follow) - end + def test_follow_basic + assert_respond_to(@rule1, :follow) + assert_respond_to(@rule1, :follow=) + assert_true(@rule1.follow) + end - def test_links_basic - assert_respond_to(@rule1, :links) - assert_respond_to(@rule1, :links=) - assert_nil(@rule1.links) - end + def test_links_basic + assert_respond_to(@rule1, :links) + assert_respond_to(@rule1, :links=) + assert_nil(@rule1.links) + end - def test_links - omit_if(@@windows, 'links test skipped on MS Windows') + def test_links + omit_if(@@windows, 'links test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.rb', :links => 2) - @rule2 = File::Find.new(:name => '*.doc', :links => 1) + @rule1 = File::Find.new(:name => '*.rb', :links => 2) + @rule2 = File::Find.new(:name => '*.doc', :links => 1) - assert_equal([], @rule1.find) - assert_equal([File.expand_path(@file_doc)], @rule2.find) - end + assert_equal([], @rule1.find) + assert_equal([File.expand_path(@file_doc)], @rule2.find) + end - def test_maxdepth_basic - assert_respond_to(@rule1, :maxdepth) - assert_respond_to(@rule1, :maxdepth=) - assert_nil(@rule1.maxdepth) - end - - def test_maxdepth_file - mkpath('a1/a2/a3') - touch('a1/a.foo') - touch('a1/a2/b.foo') - touch('a1/a2/c.foo') - touch('a1/a2/a3/d.foo') - touch('a1/a2/a3/e.foo') - touch('a1/a2/a3/f.foo') - - @rule2.pattern = "*.foo" - @rule2.maxdepth = 1 - assert_equal([], @rule2.find) - - @rule2.maxdepth = 2 - assert_equal(['a.foo'], @rule2.find.map{ |e| File.basename(e) }) - - @rule2.maxdepth = 3 - assert_equal(['a.foo', 'b.foo', 'c.foo'], @rule2.find.map{ |e| File.basename(e) }) - - @rule2.maxdepth = nil - assert_equal( - ['a.foo', 'b.foo', 'c.foo', 'd.foo', 'e.foo', 'f.foo'], - @rule2.find.map{ |e| File.basename(e) }.sort - ) - end + def test_maxdepth_basic + assert_respond_to(@rule1, :maxdepth) + assert_respond_to(@rule1, :maxdepth=) + assert_nil(@rule1.maxdepth) + end - def test_maxdepth_directory - mkpath('a/b/c') - @rule2.pattern = "c" + def test_maxdepth_file + mkpath('a1/a2/a3') + touch('a1/a.foo') + touch('a1/a2/b.foo') + touch('a1/a2/c.foo') + touch('a1/a2/a3/d.foo') + touch('a1/a2/a3/e.foo') + touch('a1/a2/a3/f.foo') - @rule2.maxdepth = 1 - assert_equal([], @rule2.find) - - @rule2.maxdepth = 2 - assert_equal([], @rule2.find) - - @rule2.maxdepth = 3 - assert_equal(['c'], @rule2.find.map{ |e| File.basename(e) }) - end + @rule2.pattern = "*.foo" + @rule2.maxdepth = 1 + assert_equal([], @rule2.find) - def test_mindepth_basic - assert_respond_to(@rule1, :mindepth) - assert_respond_to(@rule1, :mindepth=) - assert_nil(@rule1.mindepth) - end + @rule2.maxdepth = 2 + assert_equal(['a.foo'], @rule2.find.map{ |e| File.basename(e) }) - def test_mindepth_file - mkpath('a1/a2/a3') - touch('z.min') - touch('a1/a.min') - touch('a1/a2/b.min') - touch('a1/a2/c.min') - touch('a1/a2/a3/d.min') - touch('a1/a2/a3/e.min') - touch('a1/a2/a3/f.min') - - @rule2.pattern = "*.min" + @rule2.maxdepth = 3 + assert_equal(['a.foo', 'b.foo', 'c.foo'], @rule2.find.map{ |e| File.basename(e) }) - @rule2.mindepth = 0 - assert_equal( - ['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min', 'z.min'], + @rule2.maxdepth = nil + assert_equal( + ['a.foo', 'b.foo', 'c.foo', 'd.foo', 'e.foo', 'f.foo'], @rule2.find.map{ |e| File.basename(e) }.sort - ) + ) + end - @rule2.mindepth = 1 - assert_equal( - ['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min', 'z.min'], - @rule2.find.map{ |e| File.basename(e) }.sort - ) + def test_maxdepth_directory + mkpath('a/b/c') + @rule2.pattern = "c" - @rule2.mindepth = 2 - assert_equal( - ['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min'], - @rule2.find.map{ |e| File.basename(e) }.sort - ) - - @rule2.mindepth = 3 - assert_equal( - ['b.min', 'c.min', 'd.min', 'e.min', 'f.min'], - @rule2.find.map{ |e| File.basename(e) }.sort - ) - - @rule2.mindepth = 4 - assert_equal(['d.min', 'e.min', 'f.min'], @rule2.find.map{ |e| File.basename(e) }.sort) + @rule2.maxdepth = 1 + assert_equal([], @rule2.find) - @rule2.mindepth = 5 - assert_equal([], @rule2.find.map{ |e| File.basename(e) }) - end + @rule2.maxdepth = 2 + assert_equal([], @rule2.find) - def test_mindepth_directory - mkpath('a/b/c') - @rule2.pattern = "a" + @rule2.maxdepth = 3 + assert_equal(['c'], @rule2.find.map{ |e| File.basename(e) }) + end - @rule2.mindepth = 1 - assert_equal(['a'], @rule2.find.map{ |e| File.basename(e) }) - - @rule2.mindepth = 2 - assert_equal([], @rule2.find) - - @rule2.mindepth = 3 - assert_equal([], @rule2.find) - end + def test_mindepth_basic + assert_respond_to(@rule1, :mindepth) + assert_respond_to(@rule1, :mindepth=) + assert_nil(@rule1.mindepth) + end - def test_mount_basic - assert_respond_to(@rule1, :mount) - assert_respond_to(@rule1, :mount=) - assert_nil(@rule1.mount) - end + def test_mindepth_file + mkpath('a1/a2/a3') + touch('z.min') + touch('a1/a.min') + touch('a1/a2/b.min') + touch('a1/a2/c.min') + touch('a1/a2/a3/d.min') + touch('a1/a2/a3/e.min') + touch('a1/a2/a3/f.min') - def test_name_basic - assert_respond_to(@rule1, :name) - assert_respond_to(@rule1, :name=) - assert_equal('*.txt', @rule1.name) - end + @rule2.pattern = "*.min" - def test_pattern_alias - assert_respond_to(@rule1, :pattern) - assert_respond_to(@rule1, :pattern=) - assert_true(@rule1.method(:name) == @rule1.method(:pattern)) - assert_true(@rule1.method(:name=) == @rule1.method(:pattern=)) - end + @rule2.mindepth = 0 + assert_equal( + ['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min', 'z.min'], + @rule2.find.map{ |e| File.basename(e) }.sort + ) - def test_perm_basic - assert_respond_to(@rule1, :perm) - assert_respond_to(@rule1, :perm=) - assert_nil(@rule1.perm) - end + @rule2.mindepth = 1 + assert_equal( + ['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min', 'z.min'], + @rule2.find.map{ |e| File.basename(e) }.sort + ) - def test_perm - omit_if(@@windows, 'perm test skipped on MS Windows') - File.chmod(0664, @file_rb) - File.chmod(0644, @file_txt1) - results = File::Find.new(:name => "test1*", :perm => 664).find + @rule2.mindepth = 2 + assert_equal( + ['a.min', 'b.min', 'c.min', 'd.min', 'e.min', 'f.min'], + @rule2.find.map{ |e| File.basename(e) }.sort + ) - assert_equal(1, results.length) - assert_equal('test1.rb', File.basename(results.first)) - end + @rule2.mindepth = 3 + assert_equal( + ['b.min', 'c.min', 'd.min', 'e.min', 'f.min'], + @rule2.find.map{ |e| File.basename(e) }.sort + ) - def test_perm_with_symbolic_permissions - omit_if(@@windows, 'symbolic perm test skipped on MS Windows') + @rule2.mindepth = 4 + assert_equal(['d.min', 'e.min', 'f.min'], @rule2.find.map{ |e| File.basename(e) }.sort) - File.chmod(0664, @file_rb) # test1.rb - File.chmod(0644, @file_txt1) # test1.txt - results1 = File::Find.new(:name => "test1*", :perm => "g=rw").find - results2 = File::Find.new(:name => "test1*", :perm => "u=rw").find + @rule2.mindepth = 5 + assert_equal([], @rule2.find.map{ |e| File.basename(e) }) + end - assert_equal(1, results1.length) - assert_equal(2, results2.length) - assert_equal('test1.rb', File.basename(results1.first)) - assert_equal(['test1.rb', 'test1.txt'], results2.map{ |e| File.basename(e) }.sort) - end + def test_mindepth_directory + mkpath('a/b/c') + @rule2.pattern = "a" - def test_prune_basic - assert_respond_to(@rule1, :prune) - assert_respond_to(@rule1, :prune=) - assert_nil(@rule1.prune) - end + @rule2.mindepth = 1 + assert_equal(['a'], @rule2.find.map{ |e| File.basename(e) }) - def test_prune - rule = File::Find.new(:name => "*.txt", :prune => 'foo') - assert_equal('test1.txt', File.basename(rule.find.first)) - end + @rule2.mindepth = 2 + assert_equal([], @rule2.find) - def test_size_basic - assert_respond_to(@rule1, :size) - assert_respond_to(@rule1, :size=) - assert_nil(@rule1.size) - end + @rule2.mindepth = 3 + assert_equal([], @rule2.find) + end - def test_user_basic - assert_respond_to(@rule1, :user) - assert_respond_to(@rule1, :user=) - assert_nil(@rule1.user) - end + def test_mount_basic + assert_respond_to(@rule1, :mount) + assert_respond_to(@rule1, :mount=) + assert_nil(@rule1.mount) + end - def test_user_with_numeric_id - omit_if(@@windows, 'user test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.doc', :user => @@loguser.uid) - assert_equal([File.expand_path(@file_doc)], @rule1.find) - end + def test_name_basic + assert_respond_to(@rule1, :name) + assert_respond_to(@rule1, :name=) + assert_equal('*.txt', @rule1.name) + end - def test_user_with_string - omit_if(@@windows, 'user test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.doc', :user => @@loguser.name) - assert_equal([File.expand_path(@file_doc)], @rule1.find) - end + def test_pattern_alias + assert_respond_to(@rule1, :pattern) + assert_respond_to(@rule1, :pattern=) + assert_true(@rule1.method(:name) == @rule1.method(:pattern)) + assert_true(@rule1.method(:name=) == @rule1.method(:pattern=)) + end - def test_user_with_bad_id - omit_if(@@windows, 'user test skipped on MS Windows') - @rule1 = File::Find.new(:name => '*.doc', :user => 'totallybogus') - @rule2 = File::Find.new(:name => '*.doc', :user => 99999999) - assert_equal([], @rule1.find) - assert_equal([], @rule2.find) - end + def test_perm_basic + assert_respond_to(@rule1, :perm) + assert_respond_to(@rule1, :perm=) + assert_nil(@rule1.perm) + end - def test_previous_basic - assert_respond_to(@rule1, :previous) - end + def test_perm + omit_if(@@windows, 'perm test skipped on MS Windows') + File.chmod(0664, @file_rb) + File.chmod(0644, @file_txt1) + results = File::Find.new(:name => "test1*", :perm => 664).find - def test_expected_errors - assert_raise(Errno::ENOENT){ File::Find.new(:path => '/bogus/dir').find } - assert_raise(ArgumentError){ File::Find.new(:bogus => 1) } - assert_raise(ArgumentError){ File::Find.new(:bogus? => true) } - end + assert_equal(1, results.length) + assert_equal('test1.rb', File.basename(results.first)) + end - def teardown - rm_rf(@file_rb) - rm_rf(@file_txt1) - rm_rf(@file_txt2) - rm_rf(@file_doc) - rm_rf(@directory1) - rm_rf(@directory2) - rm_rf(@link1) unless @@windows - rm_rf('a') - rm_rf('a1') - rm_rf('z.min') if File.exists?('z.min') + def test_perm_with_symbolic_permissions + omit_if(@@windows, 'symbolic perm test skipped on MS Windows') - @rule1 = nil - @rule2 = nil - @file_rb = nil - @file_txt1 = nil - @file_txt2 = nil - @file_doc = nil - end + File.chmod(0664, @file_rb) # test1.rb + File.chmod(0644, @file_txt1) # test1.txt + results1 = File::Find.new(:name => "test1*", :perm => "g=rw").find + results2 = File::Find.new(:name => "test1*", :perm => "u=rw").find - def self.shutdown - @@windows = nil - @@jruby = nil - @@loguser = nil unless @@windows - @@logroup = nil unless @@windows - end + assert_equal(1, results1.length) + assert_equal(2, results2.length) + assert_equal('test1.rb', File.basename(results1.first)) + assert_equal(['test1.rb', 'test1.txt'], results2.map{ |e| File.basename(e) }.sort) + end + + def test_prune_basic + assert_respond_to(@rule1, :prune) + assert_respond_to(@rule1, :prune=) + assert_nil(@rule1.prune) + end + + def test_prune + rule = File::Find.new(:name => "*.txt", :prune => 'foo') + assert_equal('test1.txt', File.basename(rule.find.first)) + end + + def test_size_basic + assert_respond_to(@rule1, :size) + assert_respond_to(@rule1, :size=) + assert_nil(@rule1.size) + end + + def test_user_basic + assert_respond_to(@rule1, :user) + assert_respond_to(@rule1, :user=) + assert_nil(@rule1.user) + end + + def test_user_with_numeric_id + omit_if(@@windows, 'user test skipped on MS Windows') + @rule1 = File::Find.new(:name => '*.doc', :user => @@loguser.uid) + assert_equal([File.expand_path(@file_doc)], @rule1.find) + end + + def test_user_with_string + omit_if(@@windows, 'user test skipped on MS Windows') + @rule1 = File::Find.new(:name => '*.doc', :user => @@loguser.name) + assert_equal([File.expand_path(@file_doc)], @rule1.find) + end + + def test_user_with_bad_id + omit_if(@@windows, 'user test skipped on MS Windows') + @rule1 = File::Find.new(:name => '*.doc', :user => 'totallybogus') + @rule2 = File::Find.new(:name => '*.doc', :user => 99999999) + assert_equal([], @rule1.find) + assert_equal([], @rule2.find) + end + + def test_previous_basic + assert_respond_to(@rule1, :previous) + end + + def test_expected_errors + assert_raise(Errno::ENOENT){ File::Find.new(:path => '/bogus/dir').find } + assert_raise(ArgumentError){ File::Find.new(:bogus => 1) } + assert_raise(ArgumentError){ File::Find.new(:bogus? => true) } + end + + def teardown + rm_rf(@file_rb) + rm_rf(@file_txt1) + rm_rf(@file_txt2) + rm_rf(@file_doc) + rm_rf(@directory1) + rm_rf(@directory2) + rm_rf(@link1) unless @@windows + rm_rf('a') + rm_rf('a1') + rm_rf('z.min') if File.exists?('z.min') + + @rule1 = nil + @rule2 = nil + @file_rb = nil + @file_txt1 = nil + @file_txt2 = nil + @file_doc = nil + end + + def self.shutdown + @@windows = nil + @@jruby = nil + @@loguser = nil unless @@windows + @@logroup = nil unless @@windows + end end