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