mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* 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
This commit is contained in:
		
							parent
							
								
									4bb910816e
								
							
						
					
					
						commit
						3859d767e1
					
				
					 2 changed files with 21 additions and 5 deletions
				
			
		
							
								
								
									
										12
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								ChangeLog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,8 +1,18 @@
 | 
			
		|||
Fri Mar  6 18:19:13 2015  Koichi Sasada  <ko1@atdot.net>
 | 
			
		||||
 | 
			
		||||
	* 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.
 | 
			
		||||
 | 
			
		||||
Fri Mar  6 17:31:29 2015  Koichi Sasada  <ko1@atdot.net>
 | 
			
		||||
 | 
			
		||||
	* test/ruby/test_beginendblock.rb: do not change directory.
 | 
			
		||||
 | 
			
		||||
	  Run system command in the directory mounted by vboxfs on Windows 7
 | 
			
		||||
	  Run system command in the directory mounted by vboxsf on Windows 7
 | 
			
		||||
	  and get warning like that "warning: Insecure world writable dir...".
 | 
			
		||||
 | 
			
		||||
Fri Mar  6 10:31:00 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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|
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue