开发者

Team city doesn't recognize Test::Unit tests after upgrade to ruby 1.9.2

I have some ruby tests running in TeamCity (Version 6.0.2) but after a upgrade to ruby 1.9.2 from 1.8.6 it looks like it doesn't recognize test tests both failed and successful once.

The only difference I can see is that the output format has changed a bit, but I don't know why?

1.8.6 working version

[08:01:35]: in directory: C:\BuildAgent\work\5a0dd55bc3e14c2\webtest\watir
[08:01:36]: (in C:/BuildAgent/work/5a0dd55bc3e14c2/webtest/watir)
[08:01:43]: Execute test_all (13m:13s)
[08:01:43]: [Execute test_all] c:/ruby/bin/ruby.exe -I"lib" "c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test_service.rb"
[08:01:48]: [Execute test_all] Starting.. (36 tests)
[08:01:48]: [Execute test_all] TestCreateAccessAddress (41s)
[08:01:48]: [TestCreateAccessAddress] test_create_access_address_viaeuropa (41s)
[08:01:48]: [test_create_access_address_viaeuropa] ruby_qn://TestCreateAccessAddress.test_create_access_address_viaeuropa
[08:01:50]: [test_create_access_address_viaeuropa] [Test Error Output] ERROR: The process "iexplore.exe" not found.
[08:02:30]: [test_create_access_address_viaeuropa] [Test Output] Open new browser Loggin in. SUCCESS: The process with PID 2696 child of PID 5568 has been terminated. SUCCESS: The process with PID 5568 child of PID 832 has been terminated.
.....
[08:14:53]: [Execute test_all] 36 tests, 33 assertions, 0 failures, 2 errors
[08:14:53]: [Execute test_all] Test suite finished: 784.546 seconds
[08:14:56]: [Execute test_all] RuntimeError: Command failed with status (1): [c:/ruby/bin/ruby.exe -I"lib" "c:/ruby/lib/...] Stacktrace: c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:995:in `sh' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `call' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `sh' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `sh' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1029:in `ruby' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `ruby' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/testtask.rb:117:in `define' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/testtask.rb:102:in `define' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `standard_execute' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `standard_execute' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:260:in `execute' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:90:in `target_exception_handling' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:266:in `execute' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' c:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain' c:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `standard_invoke_with_call_chain' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:235:in `invoke' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:90:in `target_exception_handling' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:234:in `invoke' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:311:in `standard_exception_handling' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:311:in `standard_exception_handling' c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:179:in `run' C:/BuildAgent/plugins/rake-runner/lib/rb/runner/rakerunner.rb:40
[08:14:56]: Rake aborted!
[08:14:57]: Process exited with code 1
[08:14:58]: Publishing artifacts
[08:14:58]: [Publishing artifacts] Paths to publish: [teamcity-info.xml]
[08:14:58]: [Publishing artifacts] Sending files
[08:14:22]: Build finished

1.9.2@136 Faulty version

3:33:57]: [Updating sources: server side checkout...] Updating C:\BuildAgent\work\5a0dd55bc3e14c2
[13:33:59]: Starting: C:\Ruby192\bin/ruby.exe C:\BuildAgent\plugins\开发者_StackOverflow中文版rake-runner\lib\rb\runner\rakerunner.rb --rakefile C:\BuildAgent\work\5a0dd55bc3e14c2\webtest\watir\Rakefile test_tb
[13:33:59]: in directory: C:\BuildAgent\work\5a0dd55bc3e14c2\webtest\watir
[13:34:02]: (in C:/BuildAgent/work/5a0dd55bc3e14c2/webtest/watir)
[13:34:15]: Invoke test_tb (1s)
[13:34:15]: [Invoke test_tb] (first_time)
[13:34:15]: [Invoke test_tb] Execute test_tb (1s)
[13:34:15]: [Execute test_tb] C:/Ruby192/bin/ruby.exe -I"lib" "C:/Ruby192/lib/ruby/1.9.1/rake/rake_test_loader.rb" "tryggare/test_tryggare.rb"
[13:34:16]: [Execute test_tb] Loaded suite C:/Ruby192/lib/ruby/1.9.1/rake/rake_test_loader
[13:34:16]: [Execute test_tb] Started
[13:34:16]: [Execute test_tb] F.
[13:34:16]: [Execute test_tb] Finished in 0.000000 seconds.
[13:34:16]: [Execute test_tb] 1) Failure:
[13:34:16]: [Execute test_tb] test_should_be_able_to_open_browser(TestTryggare) [tryggare/test_tryggare.rb:11]:
[13:34:16]: [Execute test_tb]  expected but was
[13:34:16]: [Execute test_tb] .
[13:34:16]: [Execute test_tb] 2 tests, 2 assertions, 1 failures, 0 errors, 0 skips
[13:34:16]: [Execute test_tb] Test run options: --seed 63773
[13:34:16]: [Execute test_tb] RuntimeError: Command failed with status (1): [C:/Ruby192/bin/ruby.exe -I"lib" "C:/Ruby19...] 

Can the rake runner or test-unit gem be the culprit?

The rake target looks like this and hasn't been changed between the 2 versions

require 'rake'
require 'rake/testtask'


Rake::TestTask.new(:test_tb) do |t|
  t.pattern = 'tryggare/**/test_*.rb'
  t.verbose = true
  t.warning = false
end

Information that might be relevant

Ruby 1.9.1 with Test::Unit gem

http://jamesmead.org/blog/2009-02-02-test-unit-and-minitest-with-different-ruby-versions

Rake Runner uses its own unit tests runner and loads it using RUBYLIB environment variable. You need to ensure your program doesn't clear this environment variable, but you may append your paths to it.

http://confluence.jetbrains.net/display/TCD6/Rake


For Ruby 1.9, TeamCity's official stance is that you must install the test-unit gem for things to be reported correctly. http://youtrack.jetbrains.net/issue/TW-14984

For Ruby 1.8.6, The official stance is that it's optional, however I (and others) have found that in some cases you have to uninstall it altogether for things to report correctly.

(I know this info is covered in the comments, but seems more accurate that it be written up as "an answer")

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜