[Groonga-commit] groonga/grntest [master] progress reporter: support n workers

Back to archive index

Kouhei Sutou null+****@clear*****
Sat Aug 11 19:29:19 JST 2012


Kouhei Sutou	2012-08-11 19:29:19 +0900 (Sat, 11 Aug 2012)

  New Revision: ec91a11de3a9264d9a9a5f6ad8aa9691c8e707e4
  https://github.com/groonga/grntest/commit/ec91a11de3a9264d9a9a5f6ad8aa9691c8e707e4

  Log:
    progress reporter: support n workers

  Modified files:
    lib/groonga/tester.rb

  Modified: lib/groonga/tester.rb (+21 -9)
===================================================================
--- lib/groonga/tester.rb    2012-08-11 19:29:03 +0900 (8a58da6)
+++ lib/groonga/tester.rb    2012-08-11 19:29:19 +0900 (0d8a0c9)
@@ -1325,10 +1325,17 @@ EOF
         @tester = tester
         @term_width = guess_term_width
         @output =****@teste*****
+        @mutex = Mutex.new
         reset_current_column
       end
 
       private
+      def synchronize
+        @mutex.synchronize do
+          yield
+        end
+      end
+
       def report_summary(result)
         puts(colorize(statistics(result), result))
         pass_ratio = result.pass_ratio
@@ -1579,19 +1586,25 @@ EOF
       end
 
       def pass_test(worker, result)
-        report_test_result_mark(".", result)
+        synchronize do
+          report_test_result_mark(".", result)
+        end
       end
 
       def fail_test(worker, result)
-        report_test_result_mark("F", result)
-        puts
-        report_failure(worker, result)
+        synchronize do
+          report_test_result_mark("F", result)
+          puts
+          report_failure(worker, result)
+        end
       end
 
       def no_check_test(worker, result)
-        report_test_result_mark("N", result)
-        puts
-        report_actual(result)
+        synchronize do
+          report_test_result_mark("N", result)
+          puts
+          report_actual(result)
+        end
       end
 
       def finish_test(worker, result)
@@ -1677,7 +1690,6 @@ EOF
     class InplaceReporter < BaseReporter
       def initialize(tester)
         super
-        @mutex = Mutex.new
         @last_redraw_time = Time.now
         @minimum_redraw_interval = 0.1
       end
@@ -1799,7 +1811,7 @@ EOF
       end
 
       def redraw
-        @mutex.synchronize do
+        synchronize do
           unless block_given?
             return if Time.now - @last_redraw_time < @minimum_redraw_interval
           end
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index