Bug #4444
closedWindowsプラットフォームでtest_parallel.rbがエラー
Description
=begin
c:\ruby\trunk\build>nmake test-all TESTS="-v ../test/testunit/test_parallel.rb"
Microsoft(R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.
     .\ruby.exe -I../lib -I".ext/i386-mswin32_100" -I. "../tool/runruby.rb" --extout=".ext"  -- "../test/runner.rb" -
-ruby=".\ruby.exe -I../lib -I".ext/i386-mswin32_100" -I. "../tool/runruby.rb" --extout=".ext"  --" -v ../test/testunit/t
est_parallel.rb
Run options: "--ruby=.\ruby.exe -I../lib -I.ext/i386-mswin32_100 -I. ../tool/runruby.rb --extout=.ext --" -v
Running tests:¶
TestParallel::TestParallel#test_jobs_status = 12.00 s = E
TestParallel::TestParallel#test_no_retry_option = 12.00 s = E
TestParallel::TestParallel#test_should_retry_failed_on_workers = 12.00 s = E
TestParallel::TestParallel#test_should_run_all_without_any_leaks = 12.00 s = E
TestParallel::TestParallelWorker#test_accept_run_command_multiple_times = 12.01 s = E
TestParallel::TestParallelWorker#test_done = 2.23 s = .
TestParallel::TestParallelWorker#test_p = 0.21 s = .
TestParallel::TestParallelWorker#test_quit = 0.20 s = E
TestParallel::TestParallelWorker#test_quit_in_test = 0.19 s = E
TestParallel::TestParallelWorker#test_run = 0.32 s = .
TestParallel::TestParallelWorker#test_run_multiple_testcase_in_one_file = 12.00 s = E
Finished tests in 75.201000s, 0.1463 tests/s, 0.3856 assertions/s.
- 
Error: 
 test_jobs_status(TestParallel::TestParallel):
 Timeout::Error: execution expired
 c:/ruby/trunk/test/testunit/test_parallel.rb:171:inread' c:/ruby/trunk/test/testunit/test_parallel.rb:171:inblock in test_jobs_status'
 c:/ruby/trunk/test/testunit/test_parallel.rb:171:in `test_jobs_status'
- 
Error: 
 test_no_retry_option(TestParallel::TestParallel):
 Timeout::Error: execution expired
 c:/ruby/trunk/test/testunit/test_parallel.rb:164:inread' c:/ruby/trunk/test/testunit/test_parallel.rb:164:inblock in test_no_retry_option'
 c:/ruby/trunk/test/testunit/test_parallel.rb:164:in `test_no_retry_option'
- 
Error: 
 test_should_retry_failed_on_workers(TestParallel::TestParallel):
 Timeout::Error: execution expired
 c:/ruby/trunk/test/testunit/test_parallel.rb:157:inread' c:/ruby/trunk/test/testunit/test_parallel.rb:157:inblock in test_should_retry_failed_on_workers'
 c:/ruby/trunk/test/testunit/test_parallel.rb:157:in `test_should_retry_failed_on_workers'
- 
Error: 
 test_should_run_all_without_any_leaks(TestParallel::TestParallel):
 Timeout::Error: execution expired
 c:/ruby/trunk/test/testunit/test_parallel.rb:151:inread' c:/ruby/trunk/test/testunit/test_parallel.rb:151:inblock in test_should_run_all_without_any_leaks'
 c:/ruby/trunk/test/testunit/test_parallel.rb:151:in `test_should_run_all_without_any_leaks'
- 
Error: 
 test_accept_run_command_multiple_times(TestParallel::TestParallelWorker):
 Timeout::Error: execution expired
 c:/ruby/trunk/test/testunit/test_parallel.rb:63:ingets' c:/ruby/trunk/test/testunit/test_parallel.rb:63:inblock in test_accept_run_command_multiple_times'
 c:/ruby/trunk/test/testunit/test_parallel.rb:56:in `test_accept_run_command_multiple_times'
- 
Error: 
 test_quit(TestParallel::TestParallelWorker):
 Errno::EPERM: Operation not permitted
 c:/ruby/trunk/test/testunit/test_parallel.rb:25:inkill' c:/ruby/trunk/test/testunit/test_parallel.rb:25:inrescue in teardown'
 c:/ruby/trunk/test/testunit/test_parallel.rb:19:in `teardown'
- 
Error: 
 test_quit_in_test(TestParallel::TestParallelWorker):
 Errno::EPERM: Operation not permitted
 c:/ruby/trunk/test/testunit/test_parallel.rb:25:inkill' c:/ruby/trunk/test/testunit/test_parallel.rb:25:inrescue in teardown'
 c:/ruby/trunk/test/testunit/test_parallel.rb:19:in `teardown'
- 
Error: 
 test_run_multiple_testcase_in_one_file(TestParallel::TestParallelWorker):
 Timeout::Error: execution expired
 c:/ruby/trunk/test/testunit/test_parallel.rb:51:ingets' c:/ruby/trunk/test/testunit/test_parallel.rb:51:inblock in test_run_multiple_testcase_in_one_file'
 c:/ruby/trunk/test/testunit/test_parallel.rb:42:in `test_run_multiple_testcase_in_one_file'
11 tests, 29 assertions, 0 failures, 8 errors, 0 skips
NMAKE : fatal error U1077: '.\ruby.exe' : リターン コード '0x8'
Stop.
なお、 Windows上で nmake test-all TESTS="-j2" などと-jを指定するとテストがハングアップしてしまうので
並列ビルドの仕組みはまったく動いていないのではないでしょうか?
=end
        
           Updated by kosaki (Motohiro KOSAKI) over 14 years ago
          Updated by kosaki (Motohiro KOSAKI) over 14 years ago
          
          
        
        
      
      =begin
書き忘れましたが、test_parallel.rb でエラーがおきるとログにファイル名が残りません(普通はテスト名の横にファイル名と行番号が出る)。これは切り分けを難しくしているので、いっしょに直していただきたいと思います。
=end
        
           Updated by sorah (Sorah Fukumori) over 14 years ago
          Updated by sorah (Sorah Fukumori) over 14 years ago
          
          
        
        
      
      - % Done changed from 0 to 50
=begin
とりあえずある程度動作はまともになった気がしますがまだ一部テストで刺さります。
で、自分のWindowsが入ったマシン (MacBook)のHDDが死にそうな感じなのでテストが厳しくなってきました。
git diffがエラーを吐いたりする程度に一部ファイルが壊れてる感じです。
誰か協力してくれると助かります。
=end
        
           Updated by sorah (Sorah Fukumori) over 14 years ago
          Updated by sorah (Sorah Fukumori) over 14 years ago
          
          
        
        
      
      =begin
追記です。
test_parallel.rbはWindowsで無効化しました。今言ったのは普通に-j4などでtest-allをした場合の挙動です。
=end
        
           Updated by ko1 (Koichi Sasada) over 14 years ago
          Updated by ko1 (Koichi Sasada) over 14 years ago
          
          
        
        
      
      こちら,いかがでしょうか.
        
           Updated by kosaki (Motohiro KOSAKI) over 14 years ago
          Updated by kosaki (Motohiro KOSAKI) over 14 years ago
          
          
        
        
      
      - Status changed from Assigned to Closed
動くようになっているので、closeします。usaさん++
        
           Updated by sorah (Sorah Fukumori) over 14 years ago
          Updated by sorah (Sorah Fukumori) over 14 years ago
          
          
        
        
      
      - % Done changed from 50 to 100