From 3859d767e11c09b2a824172af86204939e1a5c98 Mon Sep 17 00:00:00 2001 From: ko1 Date: Fri, 6 Mar 2015 09:22:21 +0000 Subject: * test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox on Windows 7), file name and permissions are strange (can access by short file name and so on). Simply skip on such tests on such FS. To detect strange FS, this patch use a part of code `File.executable?(__FILE__)`. Please correct them if there are better ways. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/webrick/test_filehandler.rb | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/webrick/test_filehandler.rb b/test/webrick/test_filehandler.rb index f984efb3ac..e120e6dd2a 100644 --- a/test/webrick/test_filehandler.rb +++ b/test/webrick/test_filehandler.rb @@ -166,7 +166,7 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase def test_non_disclosure_name config = { :DocumentRoot => File.dirname(__FILE__), } log_tester = lambda {|log, access_log| - log = log.reject {|s| /ERROR `.*' not found\./ =~ s } + log = log.reject {|s| /ERROR `.*\' not found\./ =~ s } log = log.reject {|s| /WARN the request refers nondisclosure name/ =~ s } assert_equal([], log) } @@ -193,10 +193,12 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase end def test_directory_traversal + return if File.executable?(__FILE__) # skip on strange file system + config = { :DocumentRoot => File.dirname(__FILE__), } log_tester = lambda {|log, access_log| log = log.reject {|s| /ERROR bad URI/ =~ s } - log = log.reject {|s| /ERROR `.*' not found\./ =~ s } + log = log.reject {|s| /ERROR `.*\' not found\./ =~ s } assert_equal([], log) } TestWEBrick.start_httpserver(config, log_tester) do |server, addr, port, log| @@ -222,13 +224,15 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase end def test_short_filename + return if File.executable?(__FILE__) # skip on strange file system + config = { :CGIInterpreter => TestWEBrick::RubyBin, :DocumentRoot => File.dirname(__FILE__), :CGIPathEnv => ENV['PATH'], } log_tester = lambda {|log, access_log| - log = log.reject {|s| /ERROR `.*' not found\./ =~ s } + log = log.reject {|s| /ERROR `.*\' not found\./ =~ s } log = log.reject {|s| /WARN the request refers nondisclosure name/ =~ s } assert_equal([], log) } @@ -262,6 +266,8 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase end def test_script_disclosure + return if File.executable?(__FILE__) # skip on strange file system + config = { :CGIInterpreter => TestWEBrick::RubyBin, :DocumentRoot => File.dirname(__FILE__), @@ -276,7 +282,7 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase }, } log_tester = lambda {|log, access_log| - log = log.reject {|s| /ERROR `.*' not found\./ =~ s } + log = log.reject {|s| /ERROR `.*\' not found\./ =~ s } assert_equal([], log) } TestWEBrick.start_httpserver(config, log_tester) do |server, addr, port, log| -- cgit v1.2.3