[前][次][番号順一覧][スレッド一覧]

ruby-changes:20448

From: sorah <ko1@a...>
Date: Sun, 10 Jul 2011 21:19:30 +0900 (JST)
Subject: [ruby-changes:20448] sorah:r32496 (trunk): * lib/test/unit.rb: Add new class variable `@@testfile_prefix`.

sorah	2011-07-10 21:19:16 +0900 (Sun, 10 Jul 2011)

  New Revision: 32496

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32496

  Log:
    * lib/test/unit.rb: Add new class variable `@@testfile_prefix`.
      This is for changing test name prefix. (For testing)
    
    * test/testunit/tests_for_parallel/ptest_first.rb: Renamed from
      test_first.rb
    
    * test/testunit/tests_for_parallel/ptest_second.rb: Renamed from
      test_second.rb
    
    * test/testunit/tests_for_parallel/ptest_third.rb: Renamed from
      test_third.rb
    
    * test/testunit/tests_for_parallel/ptest_forth.rb: Renamed from
      test_forth.rb
    
    * test/testunit/tests_for_parallel/runner.rb: Remove misc.rb
    
    * test/testunit/tests_for_parallel/ptest_first.rb: ditto.
    
    * test/testunit/tests_for_parallel/ptest_second.rb: ditto.
    
    * test/testunit/tests_for_parallel/ptest_third.rb: ditto.
    
    * test/testunit/tests_for_parallel/ptest_forth.rb: ditto.
    
    * test/testunit/tests_for_parallel/misc.rb: Removed because no longer
      needed.
    
    * test/testunit/test_parallel.rb: Fix assertions for above.

  Added files:
    trunk/test/testunit/tests_for_parallel/ptest_first.rb
    trunk/test/testunit/tests_for_parallel/ptest_forth.rb
    trunk/test/testunit/tests_for_parallel/ptest_second.rb
    trunk/test/testunit/tests_for_parallel/ptest_third.rb
  Removed files:
    trunk/test/testunit/tests_for_parallel/misc.rb
    trunk/test/testunit/tests_for_parallel/test_first.rb
    trunk/test/testunit/tests_for_parallel/test_forth.rb
    trunk/test/testunit/tests_for_parallel/test_second.rb
    trunk/test/testunit/tests_for_parallel/test_third.rb
  Modified files:
    trunk/ChangeLog
    trunk/lib/test/unit.rb
    trunk/test/testunit/test_parallel.rb
    trunk/test/testunit/tests_for_parallel/runner.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 32495)
+++ ChangeLog	(revision 32496)
@@ -1,3 +1,35 @@
+Sun Jul 10 20:59:38 2011  Shota Fukumori  <sorah@t...>
+
+	* lib/test/unit.rb: Add new class variable `@@testfile_prefix`.
+	  This is for changing test name prefix. (For testing)
+
+	* test/testunit/tests_for_parallel/ptest_first.rb: Renamed from
+	  test_first.rb
+
+	* test/testunit/tests_for_parallel/ptest_second.rb: Renamed from
+	  test_second.rb
+
+	* test/testunit/tests_for_parallel/ptest_third.rb: Renamed from
+	  test_third.rb
+
+	* test/testunit/tests_for_parallel/ptest_forth.rb: Renamed from
+	  test_forth.rb
+
+	* test/testunit/tests_for_parallel/runner.rb: Remove misc.rb
+
+	* test/testunit/tests_for_parallel/ptest_first.rb: ditto.
+
+	* test/testunit/tests_for_parallel/ptest_second.rb: ditto.
+
+	* test/testunit/tests_for_parallel/ptest_third.rb: ditto.
+
+	* test/testunit/tests_for_parallel/ptest_forth.rb: ditto.
+
+	* test/testunit/tests_for_parallel/misc.rb: Removed because no longer
+	  needed.
+
+	* test/testunit/test_parallel.rb: Fix assertions for above.
+
 Sun Jul 10 16:57:08 2011  Koichi Sasada  <ko1@a...>
 
 	* vm_insnhelper.c (vm_throw): check a class frame.
Index: lib/test/unit.rb
===================================================================
--- lib/test/unit.rb	(revision 32495)
+++ lib/test/unit.rb	(revision 32496)
@@ -126,6 +126,8 @@
     module GlobOption
       include Options
 
+      @@testfile_prefix = "test"
+
       def setup_options(parser, options)
         super
         parser.on '-b', '--basedir=DIR', 'Base directory of test suites.' do |dir|
@@ -150,7 +152,7 @@
               next if f.empty?
               path = f
             end
-            if !(match = Dir["#{path}/**/test_*.rb"]).empty?
+            if !(match = Dir["#{path}/**/#{@@testfile_prefix}_*.rb"]).empty?
               if reject
                 match.reject! {|n|
                   n[(prefix.length+1)..-1] if prefix
Index: test/testunit/tests_for_parallel/test_forth.rb
===================================================================
--- test/testunit/tests_for_parallel/test_forth.rb	(revision 32495)
+++ test/testunit/tests_for_parallel/test_forth.rb	(revision 32496)
@@ -1,17 +0,0 @@
-require 'test/unit'
-require_relative "misc.rb"
-
-class TestE < TestCaseForParallelTest
-  def ptest_not_fail
-    assert_equal(1,1)
-  end
-
-  def ptest_always_skip
-    skip "always"
-  end
-
-  def ptest_always_fail
-    assert_equal(0,1)
-  end
-end
-
Index: test/testunit/tests_for_parallel/test_first.rb
===================================================================
--- test/testunit/tests_for_parallel/test_first.rb	(revision 32495)
+++ test/testunit/tests_for_parallel/test_first.rb	(revision 32496)
@@ -1,8 +0,0 @@
-require 'test/unit'
-require_relative "misc.rb"
-
-class TestA < TestCaseForParallelTest
-  def ptest_nothing_test
-  end
-end
-
Index: test/testunit/tests_for_parallel/test_third.rb
===================================================================
--- test/testunit/tests_for_parallel/test_third.rb	(revision 32495)
+++ test/testunit/tests_for_parallel/test_third.rb	(revision 32496)
@@ -1,11 +0,0 @@
-require 'test/unit'
-require_relative "misc.rb"
-
-class TestD < TestCaseForParallelTest
-  def ptest_fail_at_worker
-    #if /test\/unit\/parallel\.rb/ =~ $0
-    if on_parallel_worker?
-      assert_equal(0,1)
-    end
-  end
-end
Index: test/testunit/tests_for_parallel/test_second.rb
===================================================================
--- test/testunit/tests_for_parallel/test_second.rb	(revision 32495)
+++ test/testunit/tests_for_parallel/test_second.rb	(revision 32496)
@@ -1,12 +0,0 @@
-require 'test/unit'
-require_relative "misc.rb"
-
-class TestB < TestCaseForParallelTest
-  def ptest_nothing
-  end
-end
-
-class TestC < TestCaseForParallelTest
-  def ptest_nothing
-  end
-end
Index: test/testunit/tests_for_parallel/misc.rb
===================================================================
--- test/testunit/tests_for_parallel/misc.rb	(revision 32495)
+++ test/testunit/tests_for_parallel/misc.rb	(revision 32496)
@@ -1,36 +0,0 @@
-# FIXME: more portability code
-if caller(7) && /block in non_options/ =~ caller(7)[0]
-  class TestCaseForParallelTest < Test::Unit::TestCase;end
-else
-  module Test
-    module Unit
-      class Worker
-        def run_tests
-          _run_anything :ptest
-        end
-      end
-      class Runner
-        def run_tests
-          _run_anything :ptest
-        end
-      end
-    end
-  end
-  module MiniTest
-    class Unit
-      class << TestCase
-        alias ptest_suites test_suites
-        def ptest_methods;[];end
-      end
-    end
-  end
-
-  class TestCaseForParallelTest < Test::Unit::TestCase
-    class << self
-      undef ptest_methods
-      def ptest_methods
-        public_instance_methods(true).grep(/^ptest/).map { |m| m.to_s }
-      end
-    end
-  end
-end
Index: test/testunit/tests_for_parallel/ptest_forth.rb
===================================================================
--- test/testunit/tests_for_parallel/ptest_forth.rb	(revision 0)
+++ test/testunit/tests_for_parallel/ptest_forth.rb	(revision 32496)
@@ -0,0 +1,16 @@
+require 'test/unit'
+
+class TestE < Test::Unit::TestCase
+  def test_not_fail
+    assert_equal(1,1)
+  end
+
+  def test_always_skip
+    skip "always"
+  end
+
+  def test_always_fail
+    assert_equal(0,1)
+  end
+end
+
Index: test/testunit/tests_for_parallel/ptest_first.rb
===================================================================
--- test/testunit/tests_for_parallel/ptest_first.rb	(revision 0)
+++ test/testunit/tests_for_parallel/ptest_first.rb	(revision 32496)
@@ -0,0 +1,7 @@
+require 'test/unit'
+
+class TestA < Test::Unit::TestCase
+  def test_nothing_test
+  end
+end
+
Index: test/testunit/tests_for_parallel/ptest_third.rb
===================================================================
--- test/testunit/tests_for_parallel/ptest_third.rb	(revision 0)
+++ test/testunit/tests_for_parallel/ptest_third.rb	(revision 32496)
@@ -0,0 +1,10 @@
+require 'test/unit'
+
+class TestD < Test::Unit::TestCase
+  def test_fail_at_worker
+    #if /test\/unit\/parallel\.rb/ =~ $0
+    if on_parallel_worker?
+      assert_equal(0,1)
+    end
+  end
+end

Property changes on: test/testunit/tests_for_parallel/ptest_third.rb
___________________________________________________________________
Added: svn:eol-style
   + LF

Index: test/testunit/tests_for_parallel/runner.rb
===================================================================
--- test/testunit/tests_for_parallel/runner.rb	(revision 32495)
+++ test/testunit/tests_for_parallel/runner.rb	(revision 32496)
@@ -1,7 +1,10 @@
 require 'rbconfig'
 require 'test/unit'
-require_relative 'misc'
 
 src_testdir = File.dirname(File.expand_path(__FILE__))
 
+class Test::Unit::Runner
+  @@testfile_prefix = "ptest"
+end
+
 exit Test::Unit::AutoRunner.run(true, src_testdir)
Index: test/testunit/tests_for_parallel/ptest_second.rb
===================================================================
--- test/testunit/tests_for_parallel/ptest_second.rb	(revision 0)
+++ test/testunit/tests_for_parallel/ptest_second.rb	(revision 32496)
@@ -0,0 +1,11 @@
+require 'test/unit'
+
+class TestB < Test::Unit::TestCase
+  def test_nothing
+  end
+end
+
+class TestC < Test::Unit::TestCase
+  def test_nothing
+  end
+end
Index: test/testunit/test_parallel.rb
===================================================================
--- test/testunit/test_parallel.rb	(revision 32495)
+++ test/testunit/test_parallel.rb	(revision 32496)
@@ -37,11 +37,10 @@
     def test_run
       timeout(10) do
         assert_match(/^ready/,@worker_out.gets)
-        @worker_in.puts "run #{TESTS}/test_first.rb ptest"
+        @worker_in.puts "run #{TESTS}/ptest_first.rb test"
         assert_match(/^okay/,@worker_out.gets)
         assert_match(/^p/,@worker_out.gets)
         assert_match(/^done/,@worker_out.gets)
-        assert_match(/^done/,@worker_out.gets)
         assert_match(/^ready/,@worker_out.gets)
       end
     end
@@ -49,13 +48,12 @@
     def test_run_multiple_testcase_in_one_file
       timeout(10) do
         assert_match(/^ready/,@worker_out.gets)
-        @worker_in.puts "run #{TESTS}/test_second.rb ptest"
+        @worker_in.puts "run #{TESTS}/ptest_second.rb test"
         assert_match(/^okay/,@worker_out.gets)
         assert_match(/^p/,@worker_out.gets)
         assert_match(/^done/,@worker_out.gets)
         assert_match(/^p/,@worker_out.gets)
         assert_match(/^done/,@worker_out.gets)
-        assert_match(/^done/,@worker_out.gets)
         assert_match(/^ready/,@worker_out.gets)
       end
     end
@@ -63,13 +61,12 @@
     def test_accept_run_command_multiple_times
       timeout(10) do
         assert_match(/^ready/,@worker_out.gets)
-        @worker_in.puts "run #{TESTS}/test_first.rb ptest"
+        @worker_in.puts "run #{TESTS}/ptest_first.rb test"
         assert_match(/^okay/,@worker_out.gets)
         assert_match(/^p/,@worker_out.gets)
         assert_match(/^done/,@worker_out.gets)
-        assert_match(/^done/,@worker_out.gets)
         assert_match(/^ready/,@worker_out.gets)
-        @worker_in.puts "run #{TESTS}/test_second.rb ptest"
+        @worker_in.puts "run #{TESTS}/ptest_second.rb test"
         assert_match(/^okay/,@worker_out.gets)
         assert_match(/^p/,@worker_out.gets)
         assert_match(/^done/,@worker_out.gets)
@@ -81,25 +78,24 @@
 
     def test_p
       timeout(10) do
-        @worker_in.puts "run #{TESTS}/test_first.rb ptest"
+        @worker_in.puts "run #{TESTS}/ptest_first.rb test"
         while buf = @worker_out.gets
           break if /^p (.+?)$/ =~ buf
         end
-        assert_match(/TestA#ptest_nothing_test = \d+\.\d+ s = \.\n/, $1.chomp.unpack("m")[0])
+        assert_match(/TestA#test_nothing_test = \d+\.\d+ s = \.\n/, $1.chomp.unpack("m")[0])
       end
     end
 
     def test_done
       timeout(10) do
-        @worker_in.puts "run #{TESTS}/test_forth.rb ptest"
+        @worker_in.puts "run #{TESTS}/ptest_forth.rb test"
         i = 0
-        while buf = @worker_out.gets
-          if /^done (.+?)$/ =~ buf
-            i += 1
-            break if i == 2 # Break at 2nd "done"
-          end
-        end
+        5.times { @worker_out.gets }
+        buf = @worker_out.gets
+        assert_match(/^done (.+?)$/, buf)
 
+        /^done (.+?)$/ =~ buf
+
         result = Marshal.load($1.chomp.unpack("m")[0])
 
         assert_equal(result[0],3)
@@ -107,8 +103,8 @@
         assert_kind_of(Array,result[2])
         assert_kind_of(Array,result[3])
         assert_kind_of(Array,result[4])
-        assert_match(/Skipped:$/,result[2][0])
-        assert_match(/Failure:$/,result[2][1])
+        assert_match(/Skipped:$/,result[2][1])
+        assert_match(/Failure:$/,result[2][0])
         assert_equal(result[5], "TestE")
       end
     end
@@ -169,13 +165,13 @@
       spawn_runner "--no-retry"
       buf = timeout(10){@test_out.read}
       refute_match(/^Retrying\.+$/,buf)
-      assert_match(/^ +\d+\) Failure:\nptest_fail_at_worker\(TestD\)/,buf)
+      assert_match(/^ +\d+\) Failure:\ntest_fail_at_worker\(TestD\)/,buf)
     end
 
     def test_jobs_status
       spawn_runner "--jobs-status"
       buf = timeout(10){@test_out.read}
-      assert_match(/\d+=test_(first|second|third|forth) */,buf)
+      assert_match(/\d+=ptest_(first|second|third|forth) */,buf)
     end
 
   end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]