#244 new
Chad Woolley

CCRB Suite should run functional and integration tests even if unit tests fail

Reported by Chad Woolley | June 23rd, 2009 @ 08:26 PM

Here is a passing run from my local box:


$ rake
(in /Users/woolley/workspace/cruisecontrol.rb)
cruise data root = '/Users/woolley/.cruise'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I"lib:test" "/Users/woolley/.gem/ruby/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/application_helper_test.rb" "test/unit/build_log_parser_test.rb" "test/unit/build_mailer_test.rb" "test/unit/build_serializer_test.rb" "test/unit/build_status_test.rb" "test/unit/build_test.rb" "test/unit/builder_starter_test.rb" "test/unit/builds_helper_test.rb" "test/unit/change_in_source_control_trigger_test.rb" "test/unit/command_line_test.rb" "test/unit/cruise_control/init_test.rb" "test/unit/file_lock_test.rb" "test/unit/platform_test.rb" "test/unit/plugins/build_reaper_test.rb" "test/unit/plugins/builder_status_test.rb" "test/unit/plugins/email_notifier_test.rb" "test/unit/plugins/log_publisher_test.rb" "test/unit/plugins/project_logger_test.rb" "test/unit/polling_scheduler_test.rb" "test/unit/project_blocker_test.rb" "test/unit/project_config_tracker_test.rb" "test/unit/project_test.rb" "test/unit/projects_helper_test.rb" "test/unit/projects_migration_test.rb" "test/unit/projects_test.rb" "test/unit/routing_test.rb" "test/unit/smtp_tls_test.rb" "test/unit/source_control/abstract_adapter_test.rb" "test/unit/source_control/git/log_parser_test.rb" "test/unit/source_control/git/revision_test.rb" "test/unit/source_control/git_test.rb" "test/unit/source_control/mercurial/log_parser_test.rb" "test/unit/source_control/mercurial_test.rb" "test/unit/source_control/subversion/changeset_log_parser_test.rb" "test/unit/source_control/subversion/info_parser_test.rb" "test/unit/source_control/subversion/log_parser_test.rb" "test/unit/source_control/subversion/propget_parser_test.rb" "test/unit/source_control/subversion/revision_test.rb" "test/unit/source_control/subversion/update_parser_test.rb" "test/unit/source_control/subversion_test.rb" "test/unit/source_control_test.rb" "test/unit/successful_build_trigger_test.rb" 
cruise data root = '/Users/woolley/.cruise'
Loaded suite /Users/woolley/.gem/ruby/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
...............................................................................................................................................................................................................................................................................................................................
Finished in 3.479373 seconds.

319 tests, 770 assertions, 0 failures, 0 errors
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I"lib:test" "/Users/woolley/.gem/ruby/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/functional/builds_controller_test.rb" "test/functional/documentation_controller_test.rb" "test/functional/projects_controller_test.rb" 
cruise data root = '/Users/woolley/.cruise'
Loaded suite /Users/woolley/.gem/ruby/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
.......................................
Finished in 4.23705 seconds.

39 tests, 174 assertions, 0 failures, 0 errors
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I"lib:test" "/Users/woolley/.gem/ruby/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/integration/builder_integration_test.rb" "test/integration/subversion_integration_test.rb" 
cruise data root = '/Users/woolley/.cruise'
Loaded suite /Users/woolley/.gem/ruby/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
......................
Finished in 57.855504 seconds.

22 tests, 43 assertions, 0 failures, 0 errors



Here is the current build on the official Thoughtworks build server which is failing because of a probable ruby 1.8.7 bug.  You can see it failed on units and didn't even go on to run functional and integration:



Name: test_build(RoutingTest) Type: Error Message: NoMethodError: undefined method `[]' for #  /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/../../activesupport/lib/active_support/core_ext/string/access.rb:43:in `first' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:86:in `recognized_request_for' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:33:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions.rb:60:in `clean_backtrace' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:31:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:74:in `assert_routing' ./test/unit/routing_test.rb:5:in `test_build' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `__send__' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run' Name: test_build_artifacts(RoutingTest) Type: Error Message: NoMethodError: undefined method `[]' for #  /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/../../activesupport/lib/active_support/core_ext/string/access.rb:43:in `first' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:86:in `recognized_request_for' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:33:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions.rb:60:in `clean_backtrace' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:31:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:74:in `assert_routing' ./test/unit/routing_test.rb:13:in `test_build_artifacts' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `__send__' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run'
Build Log
/usr/ccrb/shared/projects/CruiseControlRB/work $ ruby -e "require 'rubygems' rescue nil; require 'rake'; load '/usr/rails/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" rm -rf ./coverage/units /usr/bin/ruby "/usr/ccrb/shared/projects/CruiseControlRB/work/vendor/plugins/rails_rcov/tasks/rails_rcov.rake" --run-rake-task=test:units --rcov-params=" -x \"^(?!(app\/models)|(lib)|(app\/helpers))\"" (in /usr/ccrb/shared/projects/CruiseControlRB/work) cruise data root = '/usr/ccrb/shared' [CruiseControl] Invoking Rake task "cruise" Found GemInstaller config file at: /usr/ccrb/shared/projects/CruiseControlRB/work/test/geminstaller.yml GemInstaller is verifying gem installation: rcov 0.8.1.2.0 Gem rcov, version 0.8.1.2.0 is already installed. [CruiseControl] Build environment: [CruiseControl] CentOS release 5 (Final) Kernel \r on an \m [CruiseControl] Linux chistdrwp01.thoughtworks.com 2.6.18-53.1.14.el5 [#1](/projects/9150/tickets/1 "Ticket #1") SMP Wed Mar 5 11:36:49 EST 2008 i686 i686 i386 GNU/Linux [CruiseControl] ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux] [CruiseControl] RubyGems Environment: [CruiseControl] - RUBYGEMS VERSION: 1.3.1 [CruiseControl] - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i686-linux] [CruiseControl] - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 [CruiseControl] - RUBY EXECUTABLE: /usr/bin/ruby [CruiseControl] - EXECUTABLE DIRECTORY: /usr/bin [CruiseControl] - RUBYGEMS PLATFORMS: [CruiseControl] - ruby [CruiseControl] - x86-linux [CruiseControl] - GEM PATHS: [CruiseControl] - /usr/lib/ruby/gems/1.8 [CruiseControl] - /home/rails/.gem/ruby/1.8 [CruiseControl] - GEM CONFIGURATION: [CruiseControl] - :update_sources => true [CruiseControl] - :verbose => true [CruiseControl] - :benchmark => false [CruiseControl] - :backtrace => false [CruiseControl] - :bulk_threshold => 1000 [CruiseControl] - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com"] [CruiseControl] - REMOTE SOURCES: [CruiseControl] - http://gems.rubyforge.org/ [CruiseControl] - http://gems.github.com [CruiseControl] Local gems: [CruiseControl] activesupport (2.2.2) [CruiseControl] allison (2.0.3) [CruiseControl] Antwrap (0.7.0) [CruiseControl] archive-tar-minitar (0.5.2) [CruiseControl] builder (2.1.2) [CruiseControl] buildr (1.3.4) [CruiseControl] cgi_multipart_eof_fix (2.5.0) [CruiseControl] columnize (0.3.0) [CruiseControl] cucumber (0.1.16) [CruiseControl] daemons (1.0.10) [CruiseControl] diff-lcs (1.1.2) [CruiseControl] docter (1.1.3) [CruiseControl] fastthread (1.0.1) [CruiseControl] gem_plugin (0.2.3) [CruiseControl] geminstaller (0.5.1) [CruiseControl] haml (1.8.2) [CruiseControl] highline (1.5.0) [CruiseControl] hoe (1.11.0, 1.8.3) [CruiseControl] jdtc (0.0.1) [CruiseControl] linecache (0.43) [CruiseControl] manifest (0.0.3, 0.0.2) [CruiseControl] mongrel (1.1.5) [CruiseControl] net-sftp (2.0.2) [CruiseControl] net-ssh (2.0.11, 2.0.10) [CruiseControl] newgem (1.2.3) [CruiseControl] polyglot (0.2.4) [CruiseControl] rake (0.8.4, 0.8.3) [CruiseControl] rcov (0.8.1.2.0) [CruiseControl] RedCloth (4.1.9, 3.0.4) [CruiseControl] rjb (1.1.7, 1.1.6) [CruiseControl] rspec (1.1.12) [CruiseControl] rubigen (1.5.2) [CruiseControl] ruby-debug (0.10.3) [CruiseControl] ruby-debug-base (0.10.3) [CruiseControl] rubyforge (1.0.3, 1.0.2) [CruiseControl] rubyzip (0.9.1) [CruiseControl] spicycode-rcov (0.8.2.1) [CruiseControl] syntax (1.0.0) [CruiseControl] term-ansicolor (1.0.3) [CruiseControl] treetop (1.2.4) [CruiseControl] xml-simple (1.0.12, 1.0.11) rcov -o "/usr/ccrb/shared/projects/CruiseControlRB/work/coverage/units" -T -x "rubygems/*,rcov*" --rails -x "^(?!(app\/models)|(lib)|(app\/helpers))" -I"/usr/ccrb/shared/projects/CruiseControlRB/work/lib" -I"/usr/ccrb/shared/projects/CruiseControlRB/work/test" "/home/rails/.gem/ruby/1.8/gems/rake-0.8.4/lib/rake/rake_test_loader.rb" "test/unit/platform_test.rb" "test/unit/cruise_control/init_test.rb" "test/unit/build_log_parser_test.rb" "test/unit/command_line_test.rb" "test/unit/build_serializer_test.rb" "test/unit/source_control_test.rb" "test/unit/smtp_tls_test.rb" "test/unit/successful_build_trigger_test.rb" "test/unit/routing_test.rb" "test/unit/plugins/build_reaper_test.rb" "test/unit/plugins/builder_status_test.rb" "test/unit/plugins/log_publisher_test.rb" "test/unit/plugins/project_logger_test.rb" "test/unit/plugins/email_notifier_test.rb" "test/unit/projects_helper_test.rb" "test/unit/project_config_tracker_test.rb" "test/unit/project_test.rb" "test/unit/projects_migration_test.rb" "test/unit/project_blocker_test.rb" "test/unit/build_status_test.rb" "test/unit/build_mailer_test.rb" "test/unit/change_in_source_control_trigger_test.rb" "test/unit/build_test.rb" "test/unit/application_helper_test.rb" "test/unit/builder_starter_test.rb" "test/unit/projects_test.rb" "test/unit/source_control/subversion_test.rb" "test/unit/source_control/mercurial_test.rb" "test/unit/source_control/subversion/propget_parser_test.rb" "test/unit/source_control/subversion/log_parser_test.rb" "test/unit/source_control/subversion/update_parser_test.rb" "test/unit/source_control/subversion/revision_test.rb" "test/unit/source_control/subversion/info_parser_test.rb" "test/unit/source_control/subversion/changeset_log_parser_test.rb" "test/unit/source_control/abstract_adapter_test.rb" "test/unit/source_control/mercurial/log_parser_test.rb" "test/unit/source_control/git_test.rb" "test/unit/source_control/git/log_parser_test.rb" "test/unit/source_control/git/revision_test.rb" "test/unit/file_lock_test.rb" "test/unit/polling_scheduler_test.rb" "test/unit/builds_helper_test.rb" (in /usr/ccrb/shared/projects/CruiseControlRB/work) cruise data root = '/usr/ccrb/shared' cruise data root = '/usr/ccrb/shared' Loaded suite /usr/bin/rcov Started .............................................................................................................................................................................................................................EE................................................................................................ Finished in 3.240502 seconds. 1) Error: test_build(RoutingTest): NoMethodError: undefined method `[]' for # /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/../../activesupport/lib/active_support/core_ext/string/access.rb:43:in `first' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:86:in `recognized_request_for' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:33:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions.rb:60:in `clean_backtrace' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:31:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:74:in `assert_routing' ./test/unit/routing_test.rb:5:in `test_build' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `__send__' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run' 2) Error: test_build_artifacts(RoutingTest): NoMethodError: undefined method `[]' for # /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/../../activesupport/lib/active_support/core_ext/string/access.rb:43:in `first' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:86:in `recognized_request_for' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:33:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions.rb:60:in `clean_backtrace' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:31:in `assert_recognizes' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb:74:in `assert_routing' ./test/unit/routing_test.rb:13:in `test_build_artifacts' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `__send__' /usr/ccrb/shared/projects/CruiseControlRB/work/config/../vendor/plugins/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run'
319 tests, 758 assertions, 0 failures, 2 errors
/usr/lib/ruby/1.8/rexml/formatters/pretty.rb:131:in `[]': no implicit conversion from nil to integer (TypeError) from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:131:in `wrap' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:131:in `wrap' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:90:in `write_text' from /usr/lib/ruby/1.8/rexml/formatters/default.rb:50:in `write' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:75:in `write_element' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `each' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `write_element' from /usr/lib/ruby/1.8/rexml/formatters/default.rb:31:in `write' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:75:in `write_element' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `each' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:73:in `write_element' from /usr/lib/ruby/1.8/rexml/formatters/default.rb:31:in `write' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:117:in `write_document' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:111:in `each' from /usr/lib/ruby/1.8/rexml/formatters/pretty.rb:111:in `write_document' from /usr/lib/ruby/1.8/rexml/formatters/default.rb:28:in `write' from /usr/lib/ruby/1.8/rexml/document.rb:195:in `write' from (eval):93:in `pretty' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov/report.rb:1003:in `create_file' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov/report.rb:708:in `execute' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov/report.rb:125:in `each' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov/report.rb:125:in `each_file_pair_sorted' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov/report.rb:707:in `execute' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov.rb:640:in `dump_coverage_info' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov.rb:640:in `each' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/lib/rcov.rb:640:in `dump_coverage_info' from /home/rails/.gem/ruby/1.8/gems/rcov-0.8.1.2.0/bin/rcov:421 from /usr/lib/ruby/1.8/test/unit.rb:278 rake aborted! Command failed with status (1): [rcov -o "/usr/ccrb/shared/projects/CruiseC...] (See full trace by running task with --trace) rake aborted! Command failed with status (1): [/usr/bin/ruby "/usr/ccrb/shared/projects/C...] (See full trace by running task with --trace) dir : /usr/ccrb/shared/projects/CruiseControlRB/work command : echo /usr/ccrb/shared/projects/CruiseControlRB/work $ ruby\ -e\ \"require\ \'rubygems\'\ rescue\ nil\;\ require\ \'rake\'\;\ load\ \'/usr/rails/tasks/cc_build.rake\'\;\ ARGV\ \<\<\ \'--nosearch\'\ \<\<\ \'cc:build\'\;\ Rake.application.run\;\ ARGV.clear\" >> /usr/ccrb/shared/projects/CruiseControlRB/build-809cb90/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load '/usr/rails/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> /usr/ccrb/shared/projects/CruiseControlRB/build-809cb90/build.log 2>&1 exitstatus: 1

No comments found

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

People watching this ticket

Pages