mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* lib/test/unit.rb: use standalone runner for -e.
* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept multiple -p and -x options. * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									3cf7c1758f
								
							
						
					
					
						commit
						8c299e6e26
					
				
					 5 changed files with 37 additions and 16 deletions
				
			
		
							
								
								
									
										10
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								ChangeLog
									
										
									
									
									
								
							|  | @ -1,3 +1,13 @@ | |||
| Sun Dec 19 11:01:25 2004  Nobuyoshi Nakada  <nobu@ruby-lang.org> | ||||
| 
 | ||||
| 	* lib/test/unit.rb: use standalone runner for -e. | ||||
| 
 | ||||
| 	* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept | ||||
| 	  multiple -p and -x options. | ||||
| 
 | ||||
| 	* lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect): | ||||
| 	  ditto. | ||||
| 
 | ||||
| Sat Dec 18 16:36:23 2004  Nobuyoshi Nakada  <nobu@ruby-lang.org> | ||||
| 
 | ||||
| 	* ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): | ||||
|  |  | |||
|  | @ -271,4 +271,8 @@ module Test # :nodoc: | |||
|   end | ||||
| end | ||||
| 
 | ||||
| at_exit{exit(Test::Unit::AutoRunner.run($0)) unless($! || Test::Unit.run?)} | ||||
| at_exit do | ||||
|   unless $! || Test::Unit.run? | ||||
|     exit Test::Unit::AutoRunner.run($0 != "-e" && $0) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -1,3 +1,4 @@ | |||
| require 'test/unit' | ||||
| require 'test/unit/ui/testrunnerutilities' | ||||
| require 'optparse' | ||||
| 
 | ||||
|  | @ -55,8 +56,8 @@ module Test | |||
|           require 'test/unit/collector/dir' | ||||
|           c = Collector::Dir.new | ||||
|           c.filter = r.filters | ||||
|           c.pattern = r.pattern if(r.pattern) | ||||
|           c.exclude = r.exclude if(r.exclude) | ||||
|           c.pattern.concat(r.pattern) if(r.pattern) | ||||
|           c.exclude.concat(r.exclude) if(r.exclude) | ||||
|           c.collect(*(r.to_run.empty? ? ['.'] : r.to_run)) | ||||
|         end, | ||||
|       } | ||||
|  | @ -109,14 +110,16 @@ module Test | |||
|               @to_run.concat(a) | ||||
|             end | ||||
| 
 | ||||
|             @pattern = [] | ||||
|             o.on('-p', '--pattern=PATTERN', Regexp, | ||||
|                  "Match files to collect against PATTERN.") do |e| | ||||
|               @pattern = e | ||||
|               @pattern << e | ||||
|             end | ||||
| 
 | ||||
|             @exclude = [] | ||||
|             o.on('-x', '--exclude=PATTERN', Regexp, | ||||
|                  "Ignore files to collect against PATTERN.") do |e| | ||||
|               @exclude = e | ||||
|               @exclude << e | ||||
|             end | ||||
|           end | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ module Test | |||
|       class Dir | ||||
|         include Collector | ||||
| 
 | ||||
|         attr_writer :pattern, :exclude | ||||
|         attr_reader :pattern, :exclude | ||||
| 
 | ||||
|         def initialize(dir=::Dir, file=::File, object_space=::ObjectSpace, req=nil) | ||||
|           super() | ||||
|  | @ -15,8 +15,8 @@ module Test | |||
|           @file = file | ||||
|           @object_space = object_space | ||||
|           @req = req | ||||
|           @pattern = /\btest_.*\.rb\Z/m | ||||
|           @exclude = nil | ||||
|           @pattern = [/\btest_.*\.rb\Z/m] | ||||
|           @exclude = [] | ||||
|         end | ||||
| 
 | ||||
|         def collect(*from) | ||||
|  | @ -52,13 +52,17 @@ module Test | |||
|               next if(e == '.' || e == '..') | ||||
|               e_name = @file.join(name, e) | ||||
|               if(@file.directory?(e_name)) | ||||
|                 next if /\ACVS\z/ =~ e | ||||
|                 sub_suite = recursive_collect(e_name, already_gathered) | ||||
|                 sub_suites << sub_suite unless(sub_suite.empty?) | ||||
|               else | ||||
|                 next if %r(/CVS|~\Z|\.\#) =~ e_name | ||||
|                 next unless /test_/ =~ e_name | ||||
|                 (next unless(@pattern =~ e_name)) if(@pattern) | ||||
|                 (next if(@exclude =~ e_name)) if(@exclude) | ||||
|                 next if /~\z/ =~ e_name or /\A\.\#/ =~ e | ||||
|                 if @pattern and !@pattern.empty? | ||||
|                   next unless @pattern.any? {|pat| pat =~ e_name} | ||||
|                 end | ||||
|                 if @exclude and !@exclude.empty? | ||||
|                   next if @exclude.any? {|pat| pat =~ e_name} | ||||
|                 end | ||||
|                 collect_file(e_name, sub_suites, already_gathered) | ||||
|               end | ||||
|             end | ||||
|  |  | |||
|  | @ -164,11 +164,11 @@ module Test | |||
| 
 | ||||
|         def test_dir | ||||
|           inner_dir = nil | ||||
|           dir = FileSystem::Directory.new('/', nil) do | ||||
|           dirs = FileSystem::Directory.new('/', nil) do | ||||
|             file 'a', nil | ||||
|             inner_dir = dir 'b' | ||||
|           end | ||||
|           assert_equal(inner_dir, dir['b']) | ||||
|           assert_equal(inner_dir, dirs['b']) | ||||
|         end | ||||
| 
 | ||||
|         def test_fs | ||||
|  | @ -370,7 +370,7 @@ module Test | |||
|         def test_nil_pattern | ||||
|           expected = TestSuite.new('d2') | ||||
|           expected << @t5.suite | ||||
|           @c.pattern = nil | ||||
|           @c.pattern.clear | ||||
|           assert_equal(expected, @c.collect('d2')) | ||||
|         end | ||||
| 
 | ||||
|  | @ -385,7 +385,7 @@ module Test | |||
|           expected = TestSuite.new('[d1, d2]') | ||||
|           expected << (TestSuite.new('d1') << @t3.suite) | ||||
|           expected << (TestSuite.new('d2') << @t5.suite) | ||||
|           @c.pattern = /\btest_/ | ||||
|           @c.pattern.replace([/\btest_/]) | ||||
|           assert_equal(expected, @c.collect('d1', 'd2')) | ||||
|         end | ||||
|       end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 nobu
						nobu