Project

General

Profile

Actions

Bug #4444

closed

Windowsプラットフォームでtest_parallel.rbがエラー

Added by kosaki (Motohiro KOSAKI) about 13 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 1.9.3dev (2011-02-24 trunk 30955) [i386-mswin32_100]
Backport:
[ruby-dev:43273]

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.

  1. Error:
    test_jobs_status(TestParallel::TestParallel):
    Timeout::Error: execution expired
    c:/ruby/trunk/test/testunit/test_parallel.rb:171:in read' 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'

  2. Error:
    test_no_retry_option(TestParallel::TestParallel):
    Timeout::Error: execution expired
    c:/ruby/trunk/test/testunit/test_parallel.rb:164:in read' 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'

  3. Error:
    test_should_retry_failed_on_workers(TestParallel::TestParallel):
    Timeout::Error: execution expired
    c:/ruby/trunk/test/testunit/test_parallel.rb:157:in read' 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'

  4. Error:
    test_should_run_all_without_any_leaks(TestParallel::TestParallel):
    Timeout::Error: execution expired
    c:/ruby/trunk/test/testunit/test_parallel.rb:151:in read' 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'

  5. Error:
    test_accept_run_command_multiple_times(TestParallel::TestParallelWorker):
    Timeout::Error: execution expired
    c:/ruby/trunk/test/testunit/test_parallel.rb:63:in gets' 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'

  6. Error:
    test_quit(TestParallel::TestParallelWorker):
    Errno::EPERM: Operation not permitted
    c:/ruby/trunk/test/testunit/test_parallel.rb:25:in kill' c:/ruby/trunk/test/testunit/test_parallel.rb:25:in rescue in teardown'
    c:/ruby/trunk/test/testunit/test_parallel.rb:19:in `teardown'

  7. Error:
    test_quit_in_test(TestParallel::TestParallelWorker):
    Errno::EPERM: Operation not permitted
    c:/ruby/trunk/test/testunit/test_parallel.rb:25:in kill' c:/ruby/trunk/test/testunit/test_parallel.rb:25:in rescue in teardown'
    c:/ruby/trunk/test/testunit/test_parallel.rb:19:in `teardown'

  8. Error:
    test_run_multiple_testcase_in_one_file(TestParallel::TestParallelWorker):
    Timeout::Error: execution expired
    c:/ruby/trunk/test/testunit/test_parallel.rb:51:in gets' 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) about 13 years ago

=begin
書き忘れましたが、test_parallel.rb でエラーがおきるとログにファイル名が残りません(普通はテスト名の横にファイル名と行番号が出る)。これは切り分けを難しくしているので、いっしょに直していただきたいと思います。
=end

Updated by sorah (Sorah Fukumori) about 13 years ago

  • % Done changed from 0 to 50

=begin
とりあえずある程度動作はまともになった気がしますがまだ一部テストで刺さります。

で、自分のWindowsが入ったマシン (MacBook)のHDDが死にそうな感じなのでテストが厳しくなってきました。
git diffがエラーを吐いたりする程度に一部ファイルが壊れてる感じです。

誰か協力してくれると助かります。
=end

Updated by sorah (Sorah Fukumori) about 13 years ago

=begin
追記です。

test_parallel.rbはWindowsで無効化しました。今言ったのは普通に-j4などでtest-allをした場合の挙動です。
=end

Updated by ko1 (Koichi Sasada) almost 13 years ago

こちら,いかがでしょうか.

Updated by kosaki (Motohiro KOSAKI) almost 13 years ago

  • Status changed from Assigned to Closed

動くようになっているので、closeします。usaさん++

Updated by sorah (Sorah Fukumori) almost 13 years ago

  • % Done changed from 50 to 100
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0