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:in
block 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:in
block 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:in
block 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:in
block 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:in
block 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:in
rescue 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:in
rescue 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:in
block 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 13 years ago
=begin
書き忘れましたが、test_parallel.rb でエラーがおきるとログにファイル名が残りません(普通はテスト名の横にファイル名と行番号が出る)。これは切り分けを難しくしているので、いっしょに直していただきたいと思います。
=end
Updated by sorah (Sorah Fukumori) over 13 years ago
- % Done changed from 0 to 50
=begin
とりあえずある程度動作はまともになった気がしますがまだ一部テストで刺さります。
で、自分のWindowsが入ったマシン (MacBook)のHDDが死にそうな感じなのでテストが厳しくなってきました。
git diffがエラーを吐いたりする程度に一部ファイルが壊れてる感じです。
誰か協力してくれると助かります。
=end
Updated by sorah (Sorah Fukumori) over 13 years ago
=begin
追記です。
test_parallel.rbはWindowsで無効化しました。今言ったのは普通に-j4などでtest-allをした場合の挙動です。
=end
Updated by kosaki (Motohiro KOSAKI) over 13 years ago
- Status changed from Assigned to Closed
動くようになっているので、closeします。usaさん++
Updated by sorah (Sorah Fukumori) over 13 years ago
- % Done changed from 50 to 100