Started by an SCM change
Building on master
Checking out a fresh workspace because /usr/local/test/redmine-0.9-stable/vendor/plugins/redmine_hudson doesn't exist
Checking out http://r-labs.googlecode.com/svn/trunk/plugins/redmine_hudson
A test
A test/unit
AU test/unit/hudson_build_test.rb
AU test/unit/hudson_helper_test.rb
AU test/unit/hudson_test.rb
AU test/unit/hudson_settings_health_report_test.rb
AU test/unit/hudson_settings_test.rb
AU test/unit/hudson_build_changeset_test.rb
AU test/unit/hudson_health_report_test.rb
AU test/unit/hudson_application_hooks_test.rb
AU test/unit/hudson_api_exception_test.rb
AU test/unit/hudson_build_rotator_test.rb
A test/unit/hudson_job_settings_test.rb
AU test/unit/hudson_job_test.rb
AU test/unit/hudson_no_build_test.rb
AU test/unit/hudson_build_artifact_test.rb
AU test/unit/hudson_build_test_result_test.rb
AU test/test_helper.rb
A test/responses
AU test/responses/hudson_1_fetch_job_simple_ruby_application_rssAll.xml
AU test/responses/hudson_1_fetch_job_simple_ruby_application_build_detail.xml
A test/responses/hudson_simple_ruby_application_config.xml
AU test/responses/hudson_1_fetch_job.xml
AU test/responses/hudson_2_fetch_job.xml
AU test/responses/hudson_3_fetch_job.xml
AU test/responses/hudson_4_fetch_job.xml
A test/responses/hudson_5_fetch_job.xml
A test/responses/hudson_1_fetch_job_simple_ruby_application_build_detail_completed.xml
A test/fixtures
AU test/fixtures/hudson_build_artifacts.yml
AU test/fixtures/hudson_settings.yml
AU test/fixtures/hudson_builds.yml
AU test/fixtures/hudson_build_changesets.yml
AU test/fixtures/hudson_settings_health_reports.yml
AU test/fixtures/hudson_job_settings.yml
AU test/fixtures/hudson_jobs.yml
A test/features
AU test/features/hudson_index.feature
A test/features/hudson_issue.feature
A test/features/step_definitions
AU test/features/step_definitions/hudson_steps.rb
AU test/features/step_definitions/redmine_steps.rb
AU test/features/step_definitions/webrat_steps.rb
AU test/features/step_definitions/webrat_steps_add.rb
A test/features/support
AU test/features/support/paths.rb
AU test/features/support/version_check.rb
AU test/features/support/env.rb
A app
A app/helpers
AU app/helpers/hudson_helper.rb
AU app/helpers/rexml_helper.rb
A app/models
AU app/models/hudson_build.rb
AU app/models/hudson_settings.rb
AU app/models/hudson_build_changeset.rb
AU app/models/hudson_health_report.rb
AU app/models/hudson.rb
AU app/models/hudson_settings_health_report.rb
AU app/models/hudson_exceptions.rb
A app/models/hudson_api_error.rb
AU app/models/hudson_build_rotator.rb
A app/models/hudson_query_filter.rb
AU app/models/hudson_job.rb
A app/models/hudson_job_settings.rb
AU app/models/hudson_build_artifact.rb
AU app/models/hudson_build_test_result.rb
A app/controllers
AU app/controllers/hudson_settings_controller.rb
AU app/controllers/hudson_controller.rb
A app/views
A app/views/hudson
AU app/views/hudson/_history.rhtml
AU app/views/hudson/index.rhtml
AU app/views/hudson/_icon_style_plugin.erb
AU app/views/hudson/_hudson_sidebar.rhtml
AU app/views/hudson/_icon_style_hudson.erb
A app/views/hudson_settings
A app/views/hudson_settings/_job_settings.erb
AU app/views/hudson_settings/_health_report_setting.erb
AU app/views/hudson_settings/_redmine_hudson_settings.erb
AU app/views/hudson_settings/edit.rhtml
AU app/views/hudson_settings/_joblist.rhtml
A lang
AU lang/en.yml
AU lang/fr.yml
AU lang/es.yml
AU lang/de.yml
AU lang/ja.yml
AU lang/hu.yml
AU lang/it.yml
A assets
A assets/images
AU assets/images/grey_anime.png
AU assets/images/today.png
AU assets/images/blue_anime.png
AU assets/images/console.png
AU assets/images/red_anime.png
AU assets/images/yellow_anime.png
AU assets/images/grey.png
AU assets/images/blue.png
AU assets/images/disabled.png
AU assets/images/hudson_icon.png
AU assets/images/red.png
AU assets/images/yellow.png
A assets/javascripts
AU assets/javascripts/build_request.js
AU assets/javascripts/build_result.js
AU assets/javascripts/description_visibility_controller.js
AU assets/javascripts/revision_build_results.js
AU assets/javascripts/build_artifacts.js
A assets/javascripts/job_settings_field_controller.js
AU assets/javascripts/hudson_settings.js
AU assets/javascripts/build_history.js
A assets/stylesheets
AU assets/stylesheets/hudson.css
AU README.rdoc
A config
A config/locales
AU config/locales/en.yml
AU config/locales/fr.yml
AU config/locales/es.yml
AU config/locales/de.yml
AU config/locales/ja.yml
AU config/locales/hu.yml
AU config/locales/it.yml
AU init.rb
A db
A db/migrate
AU db/migrate/002_add_show_compact.rb
AU db/migrate/013_update_building.rb
AU db/migrate/004_create_hudson_jobs.rb
A db/migrate/016_create_hudson_job_settings.rb
AU db/migrate/009_add_look_and_feel_to_hudson_settings.rb
AU db/migrate/001_create_hudson_settings.rb
AU db/migrate/006_add_health_report_keywords_to_hudson_settings.rb
AU db/migrate/010_create_hudson_settings_health_reports.rb
AU db/migrate/015_create_hudson_build_artifacts.rb
AU db/migrate/019_add_url_for_plugin_to_hudson_settings.rb
AU db/migrate/005_add_caused_by_to_hudson_build.rb
AU db/migrate/011_add_description_and_state_to_hudson_jobs.rb
A db/migrate/014_update_hudson_builds_error_and_caused_by.rb
A db/migrate/018_change_column_hudson_build_number.rb
AU db/migrate/008_add_get_build_details_to_hudson_settings.rb
A db/migrate/017_add_record_hudson_job_settings.rb
A db/migrate/012_create_hudson_health_reports.rb
AU db/migrate/007_create_hudson_build_test_results.rb
AU db/migrate/003_add_auth_user_password.rb
A lib
A lib/tasks
AU lib/tasks/fetch.rake
AU lib/tasks/testing.rake
AU lib/query_patch.rb
AU lib/hudson_application_hooks.rb
AU README.ja.rdoc
U .
At revision 502
no revision recorded for http://r-labs.googlecode.com/svn/trunk/plugins/redmine_hudson in the previous build
[plugins] $ /bin/sh -xe /tmp/hudson1223415155994455756.sh
+ BASE_DIR=/usr/local/test
+ REDMINE=redmine-0.9-stable
+ REDMINE_DIR=/usr/local/test/redmine-0.9-stable
+ PLUGINS_DIR=/usr/local/test/redmine-0.9-stable/vendor/plugins
+ '[' '!' -d /usr/local/test/redmine-0.9-stable/vendor/plugins/.svn ']'
+ cd /usr/local/test/redmine-0.9-stable/vendor/plugins
+ tar xvfz /usr/local/test/redmine-0.9-stable-svn.tgz
.svn/
.svn/props/
.svn/tmp/
.svn/tmp/props/
.svn/tmp/text-base/
.svn/tmp/prop-base/
.svn/text-base/
.svn/all-wcprops
.svn/prop-base/
.svn/entries
+ cd /usr/local/test
+ rm -rf /usr/local/test/redmine-0.9-stable/redmine_test.db
+ cd /usr/local/test/redmine-0.9-stable
+ svn update
A vendor/plugins/ruby-net-ldap-0.0.4
A vendor/plugins/ruby-net-ldap-0.0.4/LICENCE
A vendor/plugins/ruby-net-ldap-0.0.4/tests
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testldif.rb
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testldap.rb
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testem.rb
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testdata.ldif
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testfilter.rb
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testber.rb
A vendor/plugins/ruby-net-ldap-0.0.4/tests/testpsw.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap/entry.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap/dataset.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap/filter.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap/pdu.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap/psw.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldif.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ldap.rb
A vendor/plugins/ruby-net-ldap-0.0.4/lib/net/ber.rb
A vendor/plugins/ruby-net-ldap-0.0.4/ChangeLog
A vendor/plugins/ruby-net-ldap-0.0.4/COPYING
A vendor/plugins/ruby-net-ldap-0.0.4/README
A vendor/plugins/acts_as_attachable
A vendor/plugins/acts_as_attachable/init.rb
A vendor/plugins/acts_as_attachable/lib
A vendor/plugins/acts_as_attachable/lib/acts_as_attachable.rb
A vendor/plugins/acts_as_searchable
A vendor/plugins/acts_as_searchable/init.rb
A vendor/plugins/acts_as_searchable/lib
A vendor/plugins/acts_as_searchable/lib/acts_as_searchable.rb
A vendor/plugins/acts_as_watchable
A vendor/plugins/acts_as_watchable/init.rb
A vendor/plugins/acts_as_watchable/lib
A vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb
A vendor/plugins/engines
A vendor/plugins/engines/test
A vendor/plugins/engines/test/unit
A vendor/plugins/engines/test/unit/plugins_test.rb
A vendor/plugins/engines/test/unit/assets_test.rb
A vendor/plugins/engines/test/unit/arbitrary_code_mixing_test.rb
A vendor/plugins/engines/test/unit/backwards_compat_test.rb
A vendor/plugins/engines/test/unit/action_mailer_test.rb
A vendor/plugins/engines/test/unit/model_and_lib_test.rb
A vendor/plugins/engines/test/unit/migration_test.rb
A vendor/plugins/engines/test/unit/load_path_test.rb
A vendor/plugins/engines/test/unit/test_testing
A vendor/plugins/engines/test/unit/test_testing/override_test.rb
A vendor/plugins/engines/test/unit/testing_test.rb
A vendor/plugins/engines/test/app
A vendor/plugins/engines/test/app/helpers
A vendor/plugins/engines/test/app/helpers/mail_helper.rb
A vendor/plugins/engines/test/app/models
A vendor/plugins/engines/test/app/models/app_and_plugin_model.rb
A vendor/plugins/engines/test/app/models/notify_mail.rb
A vendor/plugins/engines/test/app/controllers
A vendor/plugins/engines/test/app/controllers/app_and_plugin_controller.rb
A vendor/plugins/engines/test/app/controllers/namespace
A vendor/plugins/engines/test/app/controllers/namespace/app_and_plugin_controller.rb
A vendor/plugins/engines/test/app/things
A vendor/plugins/engines/test/app/things/thing.rb
A vendor/plugins/engines/test/app/views
A vendor/plugins/engines/test/app/views/app_and_plugin
A vendor/plugins/engines/test/app/views/app_and_plugin/a_view.html.erb
A vendor/plugins/engines/test/app/views/plugin_mail
A vendor/plugins/engines/test/app/views/plugin_mail/mail_from_plugin_with_application_template.text.plain.erb
A vendor/plugins/engines/test/app/views/plugin_mail/multipart_from_plugin_with_application_template_plain.html.erb
A vendor/plugins/engines/test/app/views/notify_mail
A vendor/plugins/engines/test/app/views/notify_mail/multipart_html.html.erb
A vendor/plugins/engines/test/app/views/notify_mail/signup.text.plain.erb
A vendor/plugins/engines/test/app/views/notify_mail/implicit_multipart.text.plain.erb
A vendor/plugins/engines/test/app/views/notify_mail/implicit_multipart.text.html.erb
A vendor/plugins/engines/test/app/views/notify_mail/multipart_plain.html.erb
A vendor/plugins/engines/test/app/views/namespace
A vendor/plugins/engines/test/app/views/namespace/app_and_plugin
A vendor/plugins/engines/test/app/views/namespace/app_and_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins
A vendor/plugins/engines/test/plugins/test_assets
A vendor/plugins/engines/test/plugins/test_assets/app
A vendor/plugins/engines/test/plugins/test_assets/app/controllers
A vendor/plugins/engines/test/plugins/test_assets/app/controllers/assets_controller.rb
A vendor/plugins/engines/test/plugins/test_assets/app/views
A vendor/plugins/engines/test/plugins/test_assets/app/views/layouts
A vendor/plugins/engines/test/plugins/test_assets/app/views/layouts/assets.html.erb
A vendor/plugins/engines/test/plugins/test_assets/app/views/assets
A vendor/plugins/engines/test/plugins/test_assets/app/views/assets/index.html.erb
A vendor/plugins/engines/test/plugins/test_assets/init.rb
A vendor/plugins/engines/test/plugins/test_assets/public
A vendor/plugins/engines/test/plugins/test_assets/public/subfolder
A vendor/plugins/engines/test/plugins/test_assets/public/subfolder/file_in_subfolder.txt
A vendor/plugins/engines/test/plugins/test_assets/public/file.txt
A vendor/plugins/engines/test/plugins/test_assets_with_assets_directory
A vendor/plugins/engines/test/plugins/test_assets_with_assets_directory/assets
A vendor/plugins/engines/test/plugins/test_assets_with_assets_directory/assets/subfolder
A vendor/plugins/engines/test/plugins/test_assets_with_assets_directory/assets/subfolder/file_in_subfolder.txt
A vendor/plugins/engines/test/plugins/test_assets_with_assets_directory/assets/file.txt
A vendor/plugins/engines/test/plugins/test_assets_with_assets_directory/init.rb
A vendor/plugins/engines/test/plugins/alpha_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app
A vendor/plugins/engines/test/plugins/alpha_plugin/app/models
A vendor/plugins/engines/test/plugins/alpha_plugin/app/models/app_and_plugin_model.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/models/alpha_plugin_model.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/models/shared_plugin_model.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/app_and_plugin_controller.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/alpha_plugin_controller.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/shared_plugin_controller.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/namespace
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/namespace/app_and_plugin_controller.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/namespace/alpha_plugin_controller.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/controllers/namespace/shared_plugin_controller.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/app_and_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/app_and_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/layouts
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/layouts/plugin_layout.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/alpha_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/alpha_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/shared_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/shared_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace/app_and_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace/app_and_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace/alpha_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace/alpha_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace/shared_plugin
A vendor/plugins/engines/test/plugins/alpha_plugin/app/views/namespace/shared_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/alpha_plugin/locales
A vendor/plugins/engines/test/plugins/alpha_plugin/locales/en.yml
A vendor/plugins/engines/test/plugins/alpha_plugin/lib
A vendor/plugins/engines/test/plugins/alpha_plugin/lib/app_and_plugin_lib_model.rb
A vendor/plugins/engines/test/plugins/alpha_plugin/lib/alpha_plugin_lib_model.rb
A vendor/plugins/engines/test/plugins/test_code_mixing
A vendor/plugins/engines/test/plugins/test_code_mixing/app
A vendor/plugins/engines/test/plugins/test_code_mixing/app/things
A vendor/plugins/engines/test/plugins/test_code_mixing/app/things/thing.rb
A vendor/plugins/engines/test/plugins/test_code_mixing/init.rb
A vendor/plugins/engines/test/plugins/test_assets_with_no_subdirectory
A vendor/plugins/engines/test/plugins/test_assets_with_no_subdirectory/assets
A vendor/plugins/engines/test/plugins/test_assets_with_no_subdirectory/assets/file.txt
A vendor/plugins/engines/test/plugins/test_assets_with_no_subdirectory/init.rb
A vendor/plugins/engines/test/plugins/test_routing
A vendor/plugins/engines/test/plugins/test_routing/app
A vendor/plugins/engines/test/plugins/test_routing/app/controllers
A vendor/plugins/engines/test/plugins/test_routing/app/controllers/test_routing_controller.rb
A vendor/plugins/engines/test/plugins/test_routing/app/controllers/namespace
A vendor/plugins/engines/test/plugins/test_routing/app/controllers/namespace/test_routing_controller.rb
A vendor/plugins/engines/test/plugins/test_routing/config
A vendor/plugins/engines/test/plugins/test_routing/config/routes.rb
A vendor/plugins/engines/test/plugins/test_routing/init.rb
A vendor/plugins/engines/test/plugins/test_migration
A vendor/plugins/engines/test/plugins/test_migration/db
A vendor/plugins/engines/test/plugins/test_migration/db/migrate
A vendor/plugins/engines/test/plugins/test_migration/db/migrate/001_create_tests.rb
A vendor/plugins/engines/test/plugins/test_migration/db/migrate/002_create_others.rb
A vendor/plugins/engines/test/plugins/test_migration/db/migrate/003_create_extras.rb
A vendor/plugins/engines/test/plugins/test_migration/init.rb
A vendor/plugins/engines/test/plugins/beta_plugin
A vendor/plugins/engines/test/plugins/beta_plugin/app
A vendor/plugins/engines/test/plugins/beta_plugin/app/models
A vendor/plugins/engines/test/plugins/beta_plugin/app/models/shared_plugin_model.rb
A vendor/plugins/engines/test/plugins/beta_plugin/app/controllers
A vendor/plugins/engines/test/plugins/beta_plugin/app/controllers/app_and_plugin_controller.rb
A vendor/plugins/engines/test/plugins/beta_plugin/app/controllers/shared_plugin_controller.rb
A vendor/plugins/engines/test/plugins/beta_plugin/app/controllers/namespace
A vendor/plugins/engines/test/plugins/beta_plugin/app/controllers/namespace/shared_plugin_controller.rb
A vendor/plugins/engines/test/plugins/beta_plugin/app/views
A vendor/plugins/engines/test/plugins/beta_plugin/app/views/shared_plugin
A vendor/plugins/engines/test/plugins/beta_plugin/app/views/shared_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/beta_plugin/app/views/namespace
A vendor/plugins/engines/test/plugins/beta_plugin/app/views/namespace/shared_plugin
A vendor/plugins/engines/test/plugins/beta_plugin/app/views/namespace/shared_plugin/a_view.html.erb
A vendor/plugins/engines/test/plugins/beta_plugin/locales
A vendor/plugins/engines/test/plugins/beta_plugin/locales/en.yml
A vendor/plugins/engines/test/plugins/beta_plugin/init.rb
A vendor/plugins/engines/test/plugins/test_load_path
A vendor/plugins/engines/test/plugins/test_load_path/init.rb
A vendor/plugins/engines/test/plugins/test_testing
A vendor/plugins/engines/test/plugins/test_testing/test
A vendor/plugins/engines/test/plugins/test_testing/test/unit
A vendor/plugins/engines/test/plugins/test_testing/test/unit/override_test.rb
A vendor/plugins/engines/test/plugins/test_testing/test/fixtures
A vendor/plugins/engines/test/plugins/test_testing/test/fixtures/testing_fixtures.yml
A vendor/plugins/engines/test/plugins/test_testing/app
A vendor/plugins/engines/test/plugins/test_testing/app/README.txt
A vendor/plugins/engines/test/plugins/test_testing/init.rb
A vendor/plugins/engines/test/plugins/test_plugin_mailing
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/models
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/models/plugin_mail.rb
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views/plugin_mail
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views/plugin_mail/multipart_from_plugin_plain.html.erb
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views/plugin_mail/multipart_from_plugin_html.html.erb
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views/plugin_mail/multipart_from_plugin_with_application_template_plain.html.erb
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views/plugin_mail/multipart_from_plugin_with_application_template_html.html.erb
A vendor/plugins/engines/test/plugins/test_plugin_mailing/app/views/plugin_mail/mail_from_plugin.erb
A vendor/plugins/engines/test/plugins/test_plugin_mailing/init.rb
A vendor/plugins/engines/test/plugins/not_a_plugin
A vendor/plugins/engines/test/plugins/not_a_plugin/public
A vendor/plugins/engines/test/plugins/not_a_plugin/public/should_not_be_copied.txt
A vendor/plugins/engines/test/functional
A vendor/plugins/engines/test/functional/controller_loading_test.rb
A vendor/plugins/engines/test/functional/routes_test.rb
A vendor/plugins/engines/test/functional/view_loading_test.rb
A vendor/plugins/engines/test/functional/locale_loading_test.rb
A vendor/plugins/engines/test/functional/view_helpers_test.rb
A vendor/plugins/engines/test/functional/exception_notification_compatibility_test.rb
A vendor/plugins/engines/test/lib
A vendor/plugins/engines/test/lib/render_information.rb
A vendor/plugins/engines/test/lib/app_and_plugin_lib_model.rb
A vendor/plugins/engines/test/lib/engines_test_helper.rb
A vendor/plugins/engines/Rakefile
A vendor/plugins/engines/.gitignore
A vendor/plugins/engines/boot.rb
A vendor/plugins/engines/init.rb
A vendor/plugins/engines/tasks
A vendor/plugins/engines/tasks/engines.rake
A vendor/plugins/engines/lib
A vendor/plugins/engines/lib/engines
A vendor/plugins/engines/lib/engines/testing.rb
A vendor/plugins/engines/lib/engines/plugin.rb
A vendor/plugins/engines/lib/engines/assets.rb
A vendor/plugins/engines/lib/engines/rails_extensions
A vendor/plugins/engines/lib/engines/rails_extensions/form_tag_helpers.rb
A vendor/plugins/engines/lib/engines/rails_extensions/asset_helpers.rb
A vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb
A vendor/plugins/engines/lib/engines/rails_extensions/rails.rb
A vendor/plugins/engines/lib/engines/rails_extensions/migrations.rb
A vendor/plugins/engines/lib/engines/plugin
A vendor/plugins/engines/lib/engines/plugin/locator.rb
A vendor/plugins/engines/lib/engines/plugin/migrator.rb
A vendor/plugins/engines/lib/engines/plugin/loader.rb
A vendor/plugins/engines/lib/engines/plugin/list.rb
A vendor/plugins/engines/lib/engines.rb
A vendor/plugins/engines/CHANGELOG
A vendor/plugins/engines/MIT-LICENSE
A vendor/plugins/engines/generators
A vendor/plugins/engines/generators/plugin_migration
A vendor/plugins/engines/generators/plugin_migration/plugin_migration_generator.rb
A vendor/plugins/engines/generators/plugin_migration/USAGE
A vendor/plugins/engines/generators/plugin_migration/templates
A vendor/plugins/engines/generators/plugin_migration/templates/plugin_migration.erb
A vendor/plugins/engines/about.yml
A vendor/plugins/engines/README
A vendor/plugins/classic_pagination
A vendor/plugins/classic_pagination/test
A vendor/plugins/classic_pagination/test/helper.rb
A vendor/plugins/classic_pagination/test/fixtures
A vendor/plugins/classic_pagination/test/fixtures/topic.rb
A vendor/plugins/classic_pagination/test/fixtures/developers_projects.yml
A vendor/plugins/classic_pagination/test/fixtures/topics.yml
A vendor/plugins/classic_pagination/test/fixtures/replies.yml
A vendor/plugins/classic_pagination/test/fixtures/developer.rb
A vendor/plugins/classic_pagination/test/fixtures/company.rb
A vendor/plugins/classic_pagination/test/fixtures/developers.yml
A vendor/plugins/classic_pagination/test/fixtures/project.rb
A vendor/plugins/classic_pagination/test/fixtures/projects.yml
A vendor/plugins/classic_pagination/test/fixtures/reply.rb
A vendor/plugins/classic_pagination/test/fixtures/companies.yml
A vendor/plugins/classic_pagination/test/fixtures/schema.sql
A vendor/plugins/classic_pagination/test/pagination_helper_test.rb
A vendor/plugins/classic_pagination/test/pagination_test.rb
A vendor/plugins/classic_pagination/Rakefile
A vendor/plugins/classic_pagination/init.rb
A vendor/plugins/classic_pagination/lib
A vendor/plugins/classic_pagination/lib/pagination_helper.rb
A vendor/plugins/classic_pagination/lib/pagination.rb
A vendor/plugins/classic_pagination/CHANGELOG
A vendor/plugins/classic_pagination/install.rb
A vendor/plugins/classic_pagination/README
A vendor/plugins/acts_as_versioned
A vendor/plugins/acts_as_versioned/test
A vendor/plugins/acts_as_versioned/test/versioned_test.rb
A vendor/plugins/acts_as_versioned/test/schema.rb
A vendor/plugins/acts_as_versioned/test/abstract_unit.rb
A vendor/plugins/acts_as_versioned/test/database.yml
A vendor/plugins/acts_as_versioned/test/fixtures
A vendor/plugins/acts_as_versioned/test/fixtures/pages.yml
A vendor/plugins/acts_as_versioned/test/fixtures/locked_pages.yml
A vendor/plugins/acts_as_versioned/test/fixtures/landmark_versions.yml
A vendor/plugins/acts_as_versioned/test/fixtures/locked_pages_revisions.yml
A vendor/plugins/acts_as_versioned/test/fixtures/page_versions.yml
A vendor/plugins/acts_as_versioned/test/fixtures/authors.yml
A vendor/plugins/acts_as_versioned/test/fixtures/widget.rb
A vendor/plugins/acts_as_versioned/test/fixtures/landmark.rb
A vendor/plugins/acts_as_versioned/test/fixtures/landmarks.yml
A vendor/plugins/acts_as_versioned/test/fixtures/migrations
A vendor/plugins/acts_as_versioned/test/fixtures/migrations/1_add_versioned_tables.rb
A vendor/plugins/acts_as_versioned/test/fixtures/page.rb
A vendor/plugins/acts_as_versioned/test/migration_test.rb
A vendor/plugins/acts_as_versioned/RUNNING_UNIT_TESTS
A vendor/plugins/acts_as_versioned/Rakefile
A vendor/plugins/acts_as_versioned/init.rb
A vendor/plugins/acts_as_versioned/lib
A vendor/plugins/acts_as_versioned/lib/acts_as_versioned.rb
A vendor/plugins/acts_as_versioned/CHANGELOG
A vendor/plugins/acts_as_versioned/MIT-LICENSE
A vendor/plugins/acts_as_versioned/README
A vendor/plugins/acts_as_tree
A vendor/plugins/acts_as_tree/test
A vendor/plugins/acts_as_tree/test/schema.rb
A vendor/plugins/acts_as_tree/test/abstract_unit.rb
A vendor/plugins/acts_as_tree/test/database.yml
A vendor/plugins/acts_as_tree/test/fixtures
A vendor/plugins/acts_as_tree/test/fixtures/mixin.rb
A vendor/plugins/acts_as_tree/test/fixtures/mixins.yml
A vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb
A vendor/plugins/acts_as_tree/Rakefile
A vendor/plugins/acts_as_tree/init.rb
A vendor/plugins/acts_as_tree/lib
A vendor/plugins/acts_as_tree/lib/active_record
A vendor/plugins/acts_as_tree/lib/active_record/acts
A vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb
A vendor/plugins/acts_as_tree/README
A vendor/plugins/acts_as_customizable
A vendor/plugins/acts_as_customizable/init.rb
A vendor/plugins/acts_as_customizable/lib
A vendor/plugins/acts_as_customizable/lib/acts_as_customizable.rb
A vendor/plugins/prepend_engine_views
A vendor/plugins/prepend_engine_views/init.rb
A vendor/plugins/rfpdf
A vendor/plugins/rfpdf/test
A vendor/plugins/rfpdf/test/test_helper.rb
A vendor/plugins/rfpdf/init.rb
A vendor/plugins/rfpdf/lib
A vendor/plugins/rfpdf/lib/rfpdf
A vendor/plugins/rfpdf/lib/rfpdf/chinese.rb
A vendor/plugins/rfpdf/lib/rfpdf/fpdf.rb
A vendor/plugins/rfpdf/lib/rfpdf/korean.rb
A vendor/plugins/rfpdf/lib/rfpdf/rfpdf.rb
A vendor/plugins/rfpdf/lib/rfpdf/makefont.rb
A vendor/plugins/rfpdf/lib/rfpdf/bookmark.rb
A vendor/plugins/rfpdf/lib/rfpdf/fpdf_eps.rb
A vendor/plugins/rfpdf/lib/rfpdf/japanese.rb
A vendor/plugins/rfpdf/lib/rfpdf/view.rb
A vendor/plugins/rfpdf/lib/rfpdf/errors.rb
A vendor/plugins/rfpdf/lib/rfpdf.rb
A vendor/plugins/rfpdf/CHANGELOG
A vendor/plugins/rfpdf/MIT-LICENSE
A vendor/plugins/rfpdf/README
A vendor/plugins/acts_as_activity_provider
A vendor/plugins/acts_as_activity_provider/init.rb
A vendor/plugins/acts_as_activity_provider/lib
A vendor/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb
A vendor/plugins/coderay-0.7.6.227
A vendor/plugins/coderay-0.7.6.227/LICENSE
A vendor/plugins/coderay-0.7.6.227/lib
A vendor/plugins/coderay-0.7.6.227/lib/coderay
A vendor/plugins/coderay-0.7.6.227/lib/coderay/token_classes.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoder.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/xml.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/span.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/div.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/html
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/html/output.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/html/numerization.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/html/css.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/yaml.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/tokens.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/html.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/text.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/debug.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/statistic.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/count.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/null.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/_map.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/page.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/helpers
A vendor/plugins/coderay-0.7.6.227/lib/coderay/helpers/plugin.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/helpers/file_type.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/helpers/gzip_simple.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/helpers/word_list.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/style.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/styles
A vendor/plugins/coderay-0.7.6.227/lib/coderay/styles/cycnus.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/styles/murphy.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/styles/_map.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/tokens.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/duo.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanner.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/ruby
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/ruby/patterns.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/xml.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/java.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/ruby.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/c.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/html.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/scheme.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/delphi.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/debug.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/javascript.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/rhtml.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/nitro_xhtml.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/php.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/plaintext.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay/scanners/_map.rb
A vendor/plugins/coderay-0.7.6.227/lib/coderay.rb
A vendor/plugins/coderay-0.7.6.227/bin
A vendor/plugins/coderay-0.7.6.227/bin/coderay_stylesheet
A vendor/plugins/coderay-0.7.6.227/bin/coderay
A vendor/plugins/coderay-0.7.6.227/README
A vendor/plugins/coderay-0.7.6.227/FOLDERS
A vendor/plugins/gravatar
A vendor/plugins/gravatar/Rakefile
A vendor/plugins/gravatar/README.rdoc
A vendor/plugins/gravatar/.gitignore
A vendor/plugins/gravatar/init.rb
A vendor/plugins/gravatar/lib
A vendor/plugins/gravatar/lib/gravatar.rb
A vendor/plugins/gravatar/MIT-LICENSE
A vendor/plugins/gravatar/about.yml
A vendor/plugins/gravatar/spec
A vendor/plugins/gravatar/spec/gravatar_spec.rb
A vendor/plugins/acts_as_list
A vendor/plugins/acts_as_list/test
A vendor/plugins/acts_as_list/test/list_test.rb
A vendor/plugins/acts_as_list/init.rb
A vendor/plugins/acts_as_list/lib
A vendor/plugins/acts_as_list/lib/active_record
A vendor/plugins/acts_as_list/lib/active_record/acts
A vendor/plugins/acts_as_list/lib/active_record/acts/list.rb
A vendor/plugins/acts_as_list/README
A vendor/plugins/open_id_authentication
A vendor/plugins/open_id_authentication/test
A vendor/plugins/open_id_authentication/test/test_helper.rb
A vendor/plugins/open_id_authentication/test/normalize_test.rb
A vendor/plugins/open_id_authentication/test/status_test.rb
A vendor/plugins/open_id_authentication/test/open_id_authentication_test.rb
A vendor/plugins/open_id_authentication/test/mem_cache_store_test.rb
A vendor/plugins/open_id_authentication/Rakefile
A vendor/plugins/open_id_authentication/init.rb
A vendor/plugins/open_id_authentication/tasks
A vendor/plugins/open_id_authentication/tasks/open_id_authentication_tasks.rake
A vendor/plugins/open_id_authentication/lib
A vendor/plugins/open_id_authentication/lib/open_id_authentication
A vendor/plugins/open_id_authentication/lib/open_id_authentication/mem_cache_store.rb
A vendor/plugins/open_id_authentication/lib/open_id_authentication/db_store.rb
A vendor/plugins/open_id_authentication/lib/open_id_authentication/nonce.rb
A vendor/plugins/open_id_authentication/lib/open_id_authentication/timeout_fixes.rb
A vendor/plugins/open_id_authentication/lib/open_id_authentication/request.rb
A vendor/plugins/open_id_authentication/lib/open_id_authentication/association.rb
A vendor/plugins/open_id_authentication/lib/open_id_authentication.rb
A vendor/plugins/open_id_authentication/CHANGELOG
A vendor/plugins/open_id_authentication/generators
A vendor/plugins/open_id_authentication/generators/open_id_authentication_tables
A vendor/plugins/open_id_authentication/generators/open_id_authentication_tables/open_id_authentication_tables_generator.rb
A vendor/plugins/open_id_authentication/generators/open_id_authentication_tables/templates
A vendor/plugins/open_id_authentication/generators/open_id_authentication_tables/templates/migration.rb
A vendor/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables
A vendor/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/upgrade_open_id_authentication_tables_generator.rb
A vendor/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/templates
A vendor/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/templates/migration.rb
A vendor/plugins/open_id_authentication/README
A vendor/plugins/awesome_nested_set
A vendor/plugins/awesome_nested_set/awesome_nested_set.gemspec
A vendor/plugins/awesome_nested_set/test
A vendor/plugins/awesome_nested_set/test/test_helper.rb
A vendor/plugins/awesome_nested_set/test/db
A vendor/plugins/awesome_nested_set/test/db/schema.rb
A vendor/plugins/awesome_nested_set/test/db/database.yml
A vendor/plugins/awesome_nested_set/test/fixtures
A vendor/plugins/awesome_nested_set/test/fixtures/category.rb
A vendor/plugins/awesome_nested_set/test/fixtures/categories.yml
A vendor/plugins/awesome_nested_set/test/fixtures/departments.yml
A vendor/plugins/awesome_nested_set/test/fixtures/notes.yml
A vendor/plugins/awesome_nested_set/test/awesome_nested_set
A vendor/plugins/awesome_nested_set/test/awesome_nested_set/helper_test.rb
A vendor/plugins/awesome_nested_set/test/awesome_nested_set_test.rb
A vendor/plugins/awesome_nested_set/Rakefile
A vendor/plugins/awesome_nested_set/README.rdoc
A vendor/plugins/awesome_nested_set/init.rb
A vendor/plugins/awesome_nested_set/lib
A vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb
A vendor/plugins/awesome_nested_set/lib/awesome_nested_set
A vendor/plugins/awesome_nested_set/lib/awesome_nested_set/named_scope.rb
A vendor/plugins/awesome_nested_set/lib/awesome_nested_set/helper.rb
A vendor/plugins/awesome_nested_set/lib/awesome_nested_set/compatability.rb
A vendor/plugins/awesome_nested_set/MIT-LICENSE
A vendor/plugins/awesome_nested_set/rails
A vendor/plugins/awesome_nested_set/rails/init.rb
A vendor/plugins/acts_as_event
A vendor/plugins/acts_as_event/init.rb
A vendor/plugins/acts_as_event/lib
A vendor/plugins/acts_as_event/lib/acts_as_event.rb
Updated to revision 3733.
+ ruby script/plugin install git://github.com/edavis10/object_daddy.git
Initialized empty Git repository in /usr/local/test/redmine-0.9-stable/vendor/plugins/object_daddy/.git/
From git://github.com/edavis10/object_daddy
* branch HEAD -> FETCH_HEAD
Object Daddy
============
_Version 0.4.3 (February 5, 2010)_
__Authors:__ [Rick Bradley](mailto:blogicx@rickbradley.com), [Yossef Mendelssohn](mailto:ymendel@pobox.com)
__Copyright:__ Copyright (c) 2007, Flawed Logic, OG Consulting, Rick Bradley, Yossef Mendelssohn
__License:__ MIT License. See MIT-LICENSE file for more details.
Object Daddy is a library (as well as a Ruby on Rails plugin) designed to
assist in automating testing of large collections of objects, especially webs
of ActiveRecord models. It is a descendent of the "Object Mother" pattern for
creating objects for testing, and is related to the concept of an "object
exemplar" or _stereotype_.
**WARNING** This code is very much at an _alpha_ development stage. Usage, APIs,
etc., are all subject to change.
See [http://b.logi.cx/2007/11/26/object-daddy](http://b.logi.cx/2007/11/26/object-daddy) for inspiration, historical drama, and too much reading.
## Installation
## As Gem
sudo gem install object_daddy
config/enviroments/test.rb
gem.config "object_daddy"
## As Plugin
Presuming your version of Rails has git plugin installation support:
script/plugin install git://github.com/flogic/object_daddy.git
Otherwise, you can install object_daddy by hand:
1. Unpack the object_daddy directory into vendor/plugins/ in your rails project.
2. Run the object_daddy/install.rb Ruby script.
## Testing
Install the rspec gem and cd into the object_daddy directory. Type `spec
spec/` and you should see all specs run successfully. If you have autotest
from the ZenTest gem installed you can run autotest in that directory.
## Using Object Daddy
Object Daddy adds a `.generate` method to every ActiveRecord model which can be
called to generate a valid instance object of that model class, for use in
testing:
it "should have a comment for every forum the user posts to" do
@user = User.generate
@post = Post.generate
@post.comments << Comment.generate
@user.should have(1).comments
end
This allows us to generate custom model objects without relying on fixtures,
and without knowing, in our various widespread tests and specs, the details of
creating a User, Post, Comment, etc. Not having to know this information means
the information isn't coded into dozens (or hundreds) of tests, and won't need
to be changed when the User (Post, Comment, ...) model is refactored later.
Object Daddy will identify associated classes that need to be instantiated to
make the main model valid. E.g., given the following models:
class User < ActiveRecord::Base
belongs_to :login
validates_presence_of :login
end
class Login < ActiveRecord::Base
has_one :user
end
A call to `User.generate` will also make a call to `Login.generate` so that
`User#login` is present, and therefore valid.
If all models were able to be created in a valid form by the default Model.new
call with no knowledge of the model itself, there'd be no need for Object
Daddy. So, when we deal with models which have validity requirements,
requiring fields which have format constraints, we need a means of expressing
how to create those models -- how to satisfy those validity constraints.
Object Daddy provides a `generator_for` method which allows the developer to
specify, for a specific model attribute, how to make a valid value. Note that
`validates_uniqueness_of` can require that, even if we make 100,000 instances
of a model that unique attributes cannot have the same values.
Object Daddy's `generator_for` method can take three main forms corresponding to
the means of finding a value for the associated attribute: a block, a method
call, or using a generator class.
class User < ActiveRecord::Base
validates_presence_of :email
validates_uniqueness_of :email
validates_format_of :email,
:with => /^[-a-z_+0-9.]+@(?:[-a-z_+0-9.]\.)+[a-z]+$/i
validates_presence_of :username
validates_format_of :username, :with => /^[a-z0-9_]{4,12}$/i
generator_for :email, :start => 'test@domain.com' do |prev|
user, domain = prev.split('@')
user.succ + '@' + domain
end
generator_for :username, :method => :next_user
generator_for :ssn, :class => SSNGenerator
def self.next_user
@last_username ||= 'testuser'
@last_username.succ
end
end
class SSNGenerator
def self.next
@last ||= '000-00-0000'
@last = ("%09d" % (@last.gsub('-', '').to_i + 1)).sub(/^(\d{3})(\d{2})(\d{4})$/, '\1-\2-\3')
end
end
Note that the block method of invocation (as used with _:email_ above) takes an
optional _:start_ argument, to specify the value of that attribute on the first
run. The block will be called thereafter with the previous value of the
attribute and will generate the next attribute value to be used.
A simple default block is provided for any generator with a :start value.
class User < ActiveRecord::Base
generator_for :name, :start => 'Joe' do |prev|
prev.succ
end
generator_for :name, :start => 'Joe' # equivalent to the above
end
The _:method_ form takes a symbol naming a class method in the model class to be
called to generate a new value for the attribute in question. If the method
takes a single argument, it will act much like the block method of invocation,
being called with the previous value and generating the next.
The _:class_ form calls the .next class method on the named class to generate a
new value for the attribute in question.
The argument (previous value) to the block invocation form can be omitted if
it's going to be ignored, and simple invocation forms are provided for literal
values.
class User < ActiveRecord::Base
generator_for(:start_time) { Time.now }
generator_for :name, 'Joe'
generator_for :age => 25
end
The developer would then simply call `User.generate` when testing.
If some attribute values are known (or are being controlled during testing)
then these can simply be passed in to `.generate`:
@bad_login = Login.generate(:expiry => 1.week.ago)
@expired_user = User.generate(:login => @bad_login)
A `.generate!` method is also provided. The _generate/generate!_ pair of methods
can be thought of as analogs to create/create!, one merely providing an instance
that may or may not be valid and the other raising an exception if any
problem comes up.
Finally, a `.spawn` method is provided that only gives a new, unsaved object. Note
that this is the only method of the three that is available if you happen to be
using Object Daddy outside of Rails.
## Exemplars
In the examples given above we are using `generator_for` in the bodies of the
models themselves. Given that Object Daddy is primarily geared towards
annotating models with information useful for testing, we anticipate that
`generator_for` should not normally be included inline in models. Rather, we
will provide a place where model classes can be re-opened and `generator_for`
calls (and support methods) can be written without polluting the model files
with Object Daddy information.
Object Daddy, when installed as a Rails plugin, will create
*RAILS_ROOT/spec/exemplars/* as a place to hold __exemplar__ files for Rails model
classes. (We are seeking perhaps some better terminology)
An __exemplar__ for the User model would then be found in
*RAILS_ROOT/spec/exemplars/user_exemplar.rb* (when you are using a testing tool
which works from *RAILS_ROOT/test*, Object Daddy will create
*RAILS_ROOT/test/exemplars* and look for your exemplars in that directory
instead). Exemplar files are completely optional, and no model need have
exemplar files. The `.generate` method will still exist and be callable, and
`generator_for` can be declared in the model files themselves. If an exemplar
file is available when `.generate` is called on a model, the exemplar file will
be loaded and used. An example *user_exemplar.rb* appears below:
require 'ssn_generator'
class User < ActiveRecord::Base
generator_for :email, :start => 'test@domain.com' do |prev|
user, domain = prev.split('@')
user.succ + '@' + domain
end
generator_for :username, :method => :next_user
generator_for :ssn, :class => SSNGenerator
def self.next_user
@last_username ||= 'testuser'
@last_username.succ
end
end
## Blocks
The `spawn`, `generate` and `generate!` methods can all accept a block, to which
they'll yield the generated object. This provides a nice scoping mechanism in
your code examples. Consider:
describe "admin user" do
it "should be authorized to create company profiles"
admin_user = User.generate!
admin_user.activate!
admin_user.add_role("admin")
admin_user.should be_authorized(:create, Company)
end
end
This could be refactored to:
describe "admin user" do
it "should be authorized to create company profiles" do
admin_user = User.generate! do |user|
user.activate!
user.add_role("admin")
end
admin_user.should be_authorized(:create, Company)
end
end
Or:
describe "admin user" do
it "should be authorized to create company profiles"
User.generate! do |user|
user.activate!
user.add_role("admin")
end.should be_authorized(:create, Company)
end
end
Or even:
describe "admin user" do
def admin_user
@admin_user ||= User.generate! do |user|
user.activate!
user.add_role("admin")
end
end
it "should be authorized to create company profiles"
admin_user.should be_authorized(:create, Company)
end
end
This last refactoring allows you to reuse the admin_user method across
multiple code examples, balancing DRY with local data.
## Object Daddy and Fixtures
While Object Daddy is meant to obviate the hellish devilspawn that are test
fixtures, Object Daddy should work alongside fixtures just fine. To each his
own, I suppose.
## Known Issues
The simple invocation forms for `generator_for` when using literal values do not
work if the literal value is a Hash. Don't do that.
class User < ActiveRecord::Base
generator_for :thing_hash, { 'some key' => 'some value' }
generator_for :other_hash => { 'other key' => 'other value' }
end
I'm not sure why this would even ever come up, but seriously, don't.
Required `belongs_to` associations are automatically generated when generating an instance,
but only if necessary.
class Category < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :category
validates_presence_of :category
end
`Item.generate` will generate a new category, but `some_category.items.generate` will not.
Unless, of course, you are foolish enough to define a generator in the exemplar.
class Item
generator_for(:category) { Category.generate }
end
Once again, don't do that.
## Rails _surprises_
Due to the way Rails handles associations, cascading generations (as a result of
required associations) are always generated-and-saved, even if the original generation
call was a mere `spawn` (`new`). This may come as a surprise, but it would probably be more
of a surprise if `User.spawn.save` and `User.generate` weren't comparable.
+ rake db:migrate RAILS_ENV=test
(in /usr/local/test/redmine-0.9-stable)
== Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
-> 0.0385s
-- create_table("auth_sources", {:force=>true})
-> 0.0015s
-- create_table("custom_fields", {:force=>true})
-> 0.0035s
-- create_table("custom_fields_projects", {:force=>true, :id=>false})
-> 0.0007s
-- create_table("custom_fields_trackers", {:force=>true, :id=>false})
-> 0.0007s
-- create_table("custom_values", {:force=>true})
-> 0.0010s
-- create_table("documents", {:force=>true})
-> 0.0011s
-- add_index("documents", ["project_id"], {:name=>"documents_project_id"})
-> 0.0003s
-- create_table("enumerations", {:force=>true})
-> 0.0008s
-- create_table("issue_categories", {:force=>true})
-> 0.0009s
-- add_index("issue_categories", ["project_id"], {:name=>"issue_categories_project_id"})
-> 0.0003s
-- create_table("issue_histories", {:force=>true})
-> 0.0016s
-- add_index("issue_histories", ["issue_id"], {:name=>"issue_histories_issue_id"})
-> 0.0004s
-- create_table("issue_statuses", {:force=>true})
-> 0.0012s
-- create_table("issues", {:force=>true})
-> 0.0022s
-- add_index("issues", ["project_id"], {:name=>"issues_project_id"})
-> 0.0003s
-- create_table("members", {:force=>true})
-> 0.0012s
-- create_table("news", {:force=>true})
-> 0.0013s
-- add_index("news", ["project_id"], {:name=>"news_project_id"})
-> 0.0003s
-- create_table("permissions", {:force=>true})
-> 0.0015s
-- create_table("permissions_roles", {:force=>true, :id=>false})
-> 0.0012s
-- add_index("permissions_roles", ["role_id"], {:name=>"permissions_roles_role_id"})
-> 0.0003s
-- create_table("projects", {:force=>true})
-> 0.0016s
-- create_table("roles", {:force=>true})
-> 0.0009s
-- create_table("tokens", {:force=>true})
-> 0.0012s
-- create_table("trackers", {:force=>true})
-> 0.0011s
-- create_table("users", {:force=>true})
-> 0.0024s
-- create_table("versions", {:force=>true})
-> 0.0018s
-- add_index("versions", ["project_id"], {:name=>"versions_project_id"})
-> 0.0003s
-- create_table("workflows", {:force=>true})
-> 0.0014s
== Setup: migrated (0.1224s) =================================================
== IssueMove: migrating ======================================================
== IssueMove: migrated (0.0029s) =============================================
== IssueAddNote: migrating ===================================================
== IssueAddNote: migrated (0.0027s) ==========================================
== ExportPdf: migrating ======================================================
== ExportPdf: migrated (0.0036s) =============================================
== IssueStartDate: migrating =================================================
-- add_column(:issues, :start_date, :date)
-> 0.0007s
-- add_column(:issues, :done_ratio, :integer, {:null=>false, :default=>0})
-> 0.0004s
== IssueStartDate: migrated (0.0012s) ========================================
== CalendarAndActivity: migrating ============================================
== CalendarAndActivity: migrated (0.0049s) ===================================
== CreateJournals: migrating =================================================
-- create_table(:journals, {:force=>true})
-> 0.0018s
-- create_table(:journal_details, {:force=>true})
-> 0.0017s
-- add_index("journals", ["journalized_id", "journalized_type"], {:name=>"journals_journalized_id"})
-> 0.0004s
-- add_index("journal_details", ["journal_id"], {:name=>"journal_details_journal_id"})
-> 0.0003s
-- drop_table(:issue_histories)
-> 0.0004s
== CreateJournals: migrated (0.0084s) ========================================
== CreateUserPreferences: migrating ==========================================
-- create_table(:user_preferences)
-> 0.0008s
== CreateUserPreferences: migrated (0.0008s) =================================
== AddHideMailPref: migrating ================================================
-- add_column(:user_preferences, :hide_mail, :boolean, {:default=>false})
-> 0.0005s
== AddHideMailPref: migrated (0.0005s) =======================================
== CreateComments: migrating =================================================
-- create_table(:comments)
-> 0.0010s
== CreateComments: migrated (0.0011s) ========================================
== AddNewsCommentsCount: migrating ===========================================
-- add_column(:news, :comments_count, :integer, {:null=>false, :default=>0})
-> 0.0005s
== AddNewsCommentsCount: migrated (0.0005s) ==================================
== AddCommentsPermissions: migrating =========================================
== AddCommentsPermissions: migrated (0.0042s) ================================
== CreateQueries: migrating ==================================================
-- create_table(:queries, {:force=>true})
-> 0.0018s
== CreateQueries: migrated (0.0018s) =========================================
== AddQueriesPermissions: migrating ==========================================
== AddQueriesPermissions: migrated (0.0890s) =================================
== CreateRepositories: migrating =============================================
-- create_table(:repositories, {:force=>true})
-> 0.0018s
== CreateRepositories: migrated (0.0019s) ====================================
== AddRepositoriesPermissions: migrating =====================================
== AddRepositoriesPermissions: migrated (0.0081s) ============================
== CreateSettings: migrating =================================================
-- create_table(:settings, {:force=>true})
-> 0.0017s
== CreateSettings: migrated (0.0018s) ========================================
== SetDocAndFilesNotifications: migrating ====================================
== SetDocAndFilesNotifications: migrated (0.0424s) ===========================
== AddIssueStatusPosition: migrating =========================================
-- add_column(:issue_statuses, :position, :integer, {:default=>1})
-> 0.0006s
== AddIssueStatusPosition: migrated (0.0009s) ================================
== AddRolePosition: migrating ================================================
-- add_column(:roles, :position, :integer, {:default=>1})
-> 0.0005s
== AddRolePosition: migrated (0.0085s) =======================================
== AddTrackerPosition: migrating =============================================
-- add_column(:trackers, :position, :integer, {:default=>1})
-> 0.0007s
== AddTrackerPosition: migrated (0.0014s) ====================================
== SerializePossiblesValues: migrating =======================================
== SerializePossiblesValues: migrated (0.0003s) ==============================
== AddTrackerIsInRoadmap: migrating ==========================================
-- add_column(:trackers, :is_in_roadmap, :boolean, {:null=>false, :default=>true})
-> 0.0006s
== AddTrackerIsInRoadmap: migrated (0.0007s) =================================
== AddRoadmapPermission: migrating ===========================================
== AddRoadmapPermission: migrated (0.0034s) ==================================
== AddSearchPermission: migrating ============================================
== AddSearchPermission: migrated (0.0037s) ===================================
== AddRepositoryLoginAndPassword: migrating ==================================
-- add_column(:repositories, :login, :string, {:limit=>60, :default=>""})
-> 0.0006s
-- add_column(:repositories, :password, :string, {:limit=>60, :default=>""})
-> 0.0004s
== AddRepositoryLoginAndPassword: migrated (0.0012s) =========================
== CreateWikis: migrating ====================================================
-- create_table(:wikis)
-> 0.0010s
-- add_index(:wikis, :project_id, {:name=>:wikis_project_id})
-> 0.0003s
== CreateWikis: migrated (0.0014s) ===========================================
== CreateWikiPages: migrating ================================================
-- create_table(:wiki_pages)
-> 0.0012s
-- add_index(:wiki_pages, [:wiki_id, :title], {:name=>:wiki_pages_wiki_id_title})
-> 0.0003s
== CreateWikiPages: migrated (0.0017s) =======================================
== CreateWikiContents: migrating =============================================
-- create_table(:wiki_contents)
-> 0.0015s
-- add_index(:wiki_contents, :page_id, {:name=>:wiki_contents_page_id})
-> 0.0003s
-- create_table(:wiki_content_versions)
-> 0.0014s
-- add_index(:wiki_content_versions, :wiki_content_id, {:name=>:wiki_content_versions_wcid})
-> 0.0003s
== CreateWikiContents: migrated (0.0038s) ====================================
== AddProjectsFeedsPermissions: migrating ====================================
== AddProjectsFeedsPermissions: migrated (0.0037s) ===========================
== AddRepositoryRootUrl: migrating ===========================================
-- add_column(:repositories, :root_url, :string, {:limit=>255, :default=>""})
-> 0.0006s
== AddRepositoryRootUrl: migrated (0.0007s) ==================================
== CreateTimeEntries: migrating ==============================================
-- create_table(:time_entries)
-> 0.0020s
-- add_index(:time_entries, [:project_id], {:name=>:time_entries_project_id})
-> 0.0003s
-- add_index(:time_entries, [:issue_id], {:name=>:time_entries_issue_id})
-> 0.0003s
== CreateTimeEntries: migrated (0.0028s) =====================================
== AddTimelogPermissions: migrating ==========================================
== AddTimelogPermissions: migrated (0.0030s) =================================
== CreateChangesets: migrating ===============================================
-- create_table(:changesets)
-> 0.0011s
-- add_index(:changesets, [:repository_id, :revision], {:unique=>true, :name=>:changesets_repos_rev})
-> 0.0004s
== CreateChangesets: migrated (0.0016s) ======================================
== CreateChanges: migrating ==================================================
-- create_table(:changes)
-> 0.0010s
-- add_index(:changes, [:changeset_id], {:name=>:changesets_changeset_id})
-> 0.0003s
== CreateChanges: migrated (0.0014s) =========================================
== AddChangesetCommitDate: migrating =========================================
-- add_column(:changesets, :commit_date, :date)
-> 0.0006s
== AddChangesetCommitDate: migrated (0.0009s) ================================
== AddProjectIdentifier: migrating ===========================================
-- add_column(:projects, :identifier, :string, {:limit=>20})
-> 0.0005s
== AddProjectIdentifier: migrated (0.0006s) ==================================
== AddCustomFieldIsFilter: migrating =========================================
-- add_column(:custom_fields, :is_filter, :boolean, {:null=>false, :default=>false})
-> 0.0005s
== AddCustomFieldIsFilter: migrated (0.0006s) ================================
== CreateWatchers: migrating =================================================
-- create_table(:watchers)
-> 0.0010s
== CreateWatchers: migrated (0.0010s) ========================================
== CreateChangesetsIssues: migrating =========================================
-- create_table(:changesets_issues, {:id=>false})
-> 0.0006s
-- add_index(:changesets_issues, [:changeset_id, :issue_id], {:unique=>true, :name=>:changesets_issues_ids})
-> 0.0004s
== CreateChangesetsIssues: migrated (0.0011s) ================================
== RenameCommentToComments: migrating ========================================
== RenameCommentToComments: migrated (0.0226s) ===============================
== CreateIssueRelations: migrating ===========================================
-- create_table(:issue_relations)
-> 0.0011s
== CreateIssueRelations: migrated (0.0011s) ==================================
== AddRelationsPermissions: migrating ========================================
== AddRelationsPermissions: migrated (0.0039s) ===============================
== SetLanguageLengthToFive: migrating ========================================
-- change_column(:users, :language, :string, {:limit=>5, :default=>""})
-> 0.0256s
== SetLanguageLengthToFive: migrated (0.0258s) ===============================
== CreateBoards: migrating ===================================================
-- create_table(:boards)
-> 0.0014s
-- add_index(:boards, [:project_id], {:name=>:boards_project_id})
-> 0.0003s
== CreateBoards: migrated (0.0019s) ==========================================
== CreateMessages: migrating =================================================
-- create_table(:messages)
-> 0.0017s
-- add_index(:messages, [:board_id], {:name=>:messages_board_id})
-> 0.0003s
-- add_index(:messages, [:parent_id], {:name=>:messages_parent_id})
-> 0.0003s
== CreateMessages: migrated (0.0024s) ========================================
== AddBoardsPermissions: migrating ===========================================
== AddBoardsPermissions: migrated (0.0055s) ==================================
== AllowNullVersionEffectiveDate: migrating ==================================
-- change_column(:versions, :effective_date, :date, {:null=>true, :default=>nil})
-> 0.0117s
== AllowNullVersionEffectiveDate: migrated (0.0118s) =========================
== AddWikiDestroyPagePermission: migrating ===================================
== AddWikiDestroyPagePermission: migrated (0.0029s) ==========================
== AddWikiAttachmentsPermissions: migrating ==================================
== AddWikiAttachmentsPermissions: migrated (0.0036s) =========================
== AddProjectStatus: migrating ===============================================
-- add_column(:projects, :status, :integer, {:null=>false, :default=>1})
-> 0.0006s
== AddProjectStatus: migrated (0.0007s) ======================================
== AddChangesRevision: migrating =============================================
-- add_column(:changes, :revision, :string)
-> 0.0006s
== AddChangesRevision: migrated (0.0007s) ====================================
== AddChangesBranch: migrating ===============================================
-- add_column(:changes, :branch, :string)
-> 0.0005s
== AddChangesBranch: migrated (0.0006s) ======================================
== AddChangesetsScmid: migrating =============================================
-- add_column(:changesets, :scmid, :string)
-> 0.0005s
== AddChangesetsScmid: migrated (0.0006s) ====================================
== AddRepositoriesType: migrating ============================================
-- add_column(:repositories, :type, :string)
-> 0.0005s
== AddRepositoriesType: migrated (0.0008s) ===================================
== AddRepositoriesChangesPermission: migrating ===============================
== AddRepositoriesChangesPermission: migrated (0.0029s) ======================
== AddVersionsWikiPageTitle: migrating =======================================
-- add_column(:versions, :wiki_page_title, :string)
-> 0.0006s
== AddVersionsWikiPageTitle: migrated (0.0007s) ==============================
== AddIssueCategoriesAssignedToId: migrating =================================
-- add_column(:issue_categories, :assigned_to_id, :integer)
-> 0.0005s
== AddIssueCategoriesAssignedToId: migrated (0.0006s) ========================
== AddRolesAssignable: migrating =============================================
-- add_column(:roles, :assignable, :boolean, {:default=>true})
-> 0.0005s
== AddRolesAssignable: migrated (0.0006s) ====================================
== ChangeChangesetsCommitterLimit: migrating =================================
-- change_column(:changesets, :committer, :string, {:limit=>nil})
-> 0.1197s
== ChangeChangesetsCommitterLimit: migrated (0.1198s) ========================
== AddRolesBuiltin: migrating ================================================
-- add_column(:roles, :builtin, :integer, {:null=>false, :default=>0})
-> 0.0006s
== AddRolesBuiltin: migrated (0.0007s) =======================================
== InsertBuiltinRoles: migrating =============================================
== InsertBuiltinRoles: migrated (0.0061s) ====================================
== AddRolesPermissions: migrating ============================================
-- add_column(:roles, :permissions, :text)
-> 0.0006s
== AddRolesPermissions: migrated (0.0007s) ===================================
== DropPermissions: migrating ================================================
-- drop_table(:permissions)
-> 0.0005s
-- drop_table(:permissions_roles)
-> 0.0003s
== DropPermissions: migrated (0.0009s) =======================================
== AddSettingsUpdatedOn: migrating ===========================================
-- add_column(:settings, :updated_on, :timestamp)
-> 0.0006s
== AddSettingsUpdatedOn: migrated (0.0160s) ==================================
== AddCustomValueCustomizedIndex: migrating ==================================
-- add_index(:custom_values, [:customized_type, :customized_id], {:name=>:custom_values_customized})
-> 0.0007s
== AddCustomValueCustomizedIndex: migrated (0.0008s) =========================
== CreateWikiRedirects: migrating ============================================
-- create_table(:wiki_redirects)
-> 0.0015s
-- add_index(:wiki_redirects, [:wiki_id, :title], {:name=>:wiki_redirects_wiki_id_title})
-> 0.0004s
== CreateWikiRedirects: migrated (0.0020s) ===================================
== CreateEnabledModules: migrating ===========================================
-- create_table(:enabled_modules)
-> 0.0009s
-- add_index(:enabled_modules, [:project_id], {:name=>:enabled_modules_project_id})
-> 0.0003s
== CreateEnabledModules: migrated (0.0017s) ==================================
== AddIssuesEstimatedHours: migrating ========================================
-- add_column(:issues, :estimated_hours, :float)
-> 0.0006s
== AddIssuesEstimatedHours: migrated (0.0007s) ===============================
== ChangeAttachmentsContentTypeLimit: migrating ==============================
-- change_column(:attachments, :content_type, :string, {:limit=>nil})
-> 0.0161s
== ChangeAttachmentsContentTypeLimit: migrated (0.0161s) =====================
== AddQueriesColumnNames: migrating ==========================================
-- add_column(:queries, :column_names, :text)
-> 0.0006s
== AddQueriesColumnNames: migrated (0.0006s) =================================
== AddEnumerationsPosition: migrating ========================================
-- add_column(:enumerations, :position, :integer, {:default=>1})
-> 0.0005s
== AddEnumerationsPosition: migrated (0.0014s) ===============================
== AddEnumerationsIsDefault: migrating =======================================
-- add_column(:enumerations, :is_default, :boolean, {:null=>false, :default=>false})
-> 0.0005s
== AddEnumerationsIsDefault: migrated (0.0006s) ==============================
== AddAuthSourcesTls: migrating ==============================================
-- add_column(:auth_sources, :tls, :boolean, {:null=>false, :default=>false})
-> 0.0006s
== AddAuthSourcesTls: migrated (0.0007s) =====================================
== AddMembersMailNotification: migrating =====================================
-- add_column(:members, :mail_notification, :boolean, {:null=>false, :default=>false})
-> 0.0006s
== AddMembersMailNotification: migrated (0.0006s) ============================
== AllowNullPosition: migrating ==============================================
-- change_column(:issue_statuses, :position, :integer, {:null=>true, :default=>1})
-> 0.0096s
-- change_column(:roles, :position, :integer, {:null=>true, :default=>1})
-> 0.0228s
-- change_column(:trackers, :position, :integer, {:null=>true, :default=>1})
-> 0.0078s
-- change_column(:boards, :position, :integer, {:null=>true, :default=>1})
-> 0.0123s
-- change_column(:enumerations, :position, :integer, {:null=>true, :default=>1})
-> 0.0082s
== AllowNullPosition: migrated (0.0610s) =====================================
== RemoveIssueStatusesHtmlColor: migrating ===================================
-- remove_column(:issue_statuses, :html_color)
-> 0.0087s
== RemoveIssueStatusesHtmlColor: migrated (0.0088s) ==========================
== AddCustomFieldsPosition: migrating ========================================
-- add_column(:custom_fields, :position, :integer, {:default=>1})
-> 0.0005s
== AddCustomFieldsPosition: migrated (0.0009s) ===============================
== AddUserPreferencesTimeZone: migrating =====================================
-- add_column(:user_preferences, :time_zone, :string)
-> 0.0005s
== AddUserPreferencesTimeZone: migrated (0.0006s) ============================
== AddUsersType: migrating ===================================================
-- add_column(:users, :type, :string)
-> 0.0005s
== AddUsersType: migrated (0.0022s) ==========================================
== CreateProjectsTrackers: migrating =========================================
-- create_table(:projects_trackers, {:id=>false})
-> 0.0008s
-- add_index(:projects_trackers, :project_id, {:name=>:projects_trackers_project_id})
-> 0.0003s
== CreateProjectsTrackers: migrated (0.0017s) ================================
== AddMessagesLocked: migrating ==============================================
-- add_column(:messages, :locked, :boolean, {:default=>false})
-> 0.0006s
== AddMessagesLocked: migrated (0.0006s) =====================================
== AddMessagesSticky: migrating ==============================================
-- add_column(:messages, :sticky, :integer, {:default=>0})
-> 0.0005s
== AddMessagesSticky: migrated (0.0006s) =====================================
== ChangeAuthSourcesAccountLimit: migrating ==================================
-- change_column(:auth_sources, :account, :string, {:limit=>nil})
-> 0.0168s
== ChangeAuthSourcesAccountLimit: migrated (0.0169s) =========================
== AddRoleTrackerOldStatusIndexToWorkflows: migrating ========================
-- add_index(:workflows, [:role_id, :tracker_id, :old_status_id], {:name=>:wkfs_role_tracker_old_status})
-> 0.0005s
== AddRoleTrackerOldStatusIndexToWorkflows: migrated (0.0005s) ===============
== AddCustomFieldsSearchable: migrating ======================================
-- add_column(:custom_fields, :searchable, :boolean, {:default=>false})
-> 0.0006s
== AddCustomFieldsSearchable: migrated (0.0006s) =============================
== ChangeProjectsDescriptionToText: migrating ================================
-- change_column(:projects, :description, :text, {:null=>true, :default=>nil})
-> 0.0139s
== ChangeProjectsDescriptionToText: migrated (0.0139s) =======================
== AddCustomFieldsDefaultValue: migrating ====================================
-- add_column(:custom_fields, :default_value, :text)
-> 0.0007s
== AddCustomFieldsDefaultValue: migrated (0.0008s) ===========================
== AddAttachmentsDescription: migrating ======================================
-- add_column(:attachments, :description, :string)
-> 0.0005s
== AddAttachmentsDescription: migrated (0.0006s) =============================
== ChangeVersionsNameLimit: migrating ========================================
-- change_column(:versions, :name, :string, {:limit=>nil})
-> 0.0993s
== ChangeVersionsNameLimit: migrated (0.0993s) ===============================
== ChangeChangesetsRevisionToString: migrating ===============================
-- change_column(:changesets, :revision, :string, {:null=>false})
-> 0.0158s
== ChangeChangesetsRevisionToString: migrated (0.0159s) ======================
== ChangeChangesFromRevisionToString: migrating ==============================
-- change_column(:changes, :from_revision, :string)
-> 0.0175s
== ChangeChangesFromRevisionToString: migrated (0.0176s) =====================
== AddWikiPagesProtected: migrating ==========================================
-- add_column(:wiki_pages, :protected, :boolean, {:null=>false, :default=>false})
-> 0.0008s
== AddWikiPagesProtected: migrated (0.0008s) =================================
== ChangeProjectsHomepageLimit: migrating ====================================
-- change_column(:projects, :homepage, :string, {:limit=>nil, :default=>""})
-> 0.0161s
== ChangeProjectsHomepageLimit: migrated (0.0162s) ===========================
== AddWikiPagesParentId: migrating ===========================================
-- add_column(:wiki_pages, :parent_id, :integer, {:default=>nil})
-> 0.0006s
== AddWikiPagesParentId: migrated (0.0007s) ==================================
== AddCommitAccessPermission: migrating ======================================
== AddCommitAccessPermission: migrated (0.0007s) =============================
== AddViewWikiEditsPermission: migrating =====================================
== AddViewWikiEditsPermission: migrated (0.0004s) ============================
== SetTopicAuthorsAsWatchers: migrating ======================================
== SetTopicAuthorsAsWatchers: migrated (0.0122s) =============================
== AddDeleteWikiPagesAttachmentsPermission: migrating ========================
== AddDeleteWikiPagesAttachmentsPermission: migrated (0.0006s) ===============
== AddChangesetsUserId: migrating ============================================
-- add_column(:changesets, :user_id, :integer, {:default=>nil})
-> 0.0006s
== AddChangesetsUserId: migrated (0.0007s) ===================================
== PopulateChangesetsUserId: migrating =======================================
== PopulateChangesetsUserId: migrated (0.0002s) ==============================
== AddCustomFieldsEditable: migrating ========================================
-- add_column(:custom_fields, :editable, :boolean, {:default=>true})
-> 0.0006s
== AddCustomFieldsEditable: migrated (0.0006s) ===============================
== SetCustomFieldsEditable: migrating ========================================
== SetCustomFieldsEditable: migrated (0.0034s) ===============================
== AddProjectsLftAndRgt: migrating ===========================================
-- add_column(:projects, :lft, :integer)
-> 0.0006s
-- add_column(:projects, :rgt, :integer)
-> 0.0004s
== AddProjectsLftAndRgt: migrated (0.0011s) ==================================
== BuildProjectsTree: migrating ==============================================
== BuildProjectsTree: migrated (0.0029s) =====================================
== RemoveProjectsProjectsCount: migrating ====================================
-- remove_column(:projects, :projects_count)
-> 0.0155s
== RemoveProjectsProjectsCount: migrated (0.0156s) ===========================
== AddOpenIdAuthenticationTables: migrating ==================================
-- create_table(:open_id_authentication_associations, {:force=>true})
-> 0.0023s
-- create_table(:open_id_authentication_nonces, {:force=>true})
-> 0.0018s
== AddOpenIdAuthenticationTables: migrated (0.0042s) =========================
== AddIdentityUrlToUsers: migrating ==========================================
-- add_column(:users, :identity_url, :string)
-> 0.0006s
== AddIdentityUrlToUsers: migrated (0.0006s) =================================
== AddWatchersUserIdTypeIndex: migrating =====================================
-- add_index(:watchers, [:user_id, :watchable_type], {:name=>:watchers_user_id_type})
-> 0.0004s
== AddWatchersUserIdTypeIndex: migrated (0.0005s) ============================
== AddQueriesSortCriteria: migrating =========================================
-- add_column(:queries, :sort_criteria, :text)
-> 0.0006s
== AddQueriesSortCriteria: migrated (0.0006s) ================================
== AddProjectsTrackersUniqueIndex: migrating =================================
-- add_index(:projects_trackers, [:project_id, :tracker_id], {:unique=>true, :name=>:projects_trackers_unique})
-> 0.0004s
== AddProjectsTrackersUniqueIndex: migrated (0.0008s) ========================
== ExtendSettingsName: migrating =============================================
-- change_column(:settings, :name, :string, {:limit=>255, :null=>false, :default=>""})
-> 0.0067s
== ExtendSettingsName: migrated (0.0067s) ====================================
== AddTypeToEnumerations: migrating ==========================================
-- add_column(:enumerations, :type, :string)
-> 0.0005s
== AddTypeToEnumerations: migrated (0.0006s) =================================
== UpdateEnumerationsToSti: migrating ========================================
== UpdateEnumerationsToSti: migrated (0.0007s) ===============================
== AddActiveFieldToEnumerations: migrating ===================================
-- add_column(:enumerations, :active, :boolean, {:null=>false, :default=>true})
-> 0.0005s
== AddActiveFieldToEnumerations: migrated (0.0006s) ==========================
== AddProjectToEnumerations: migrating =======================================
-- add_column(:enumerations, :project_id, :integer, {:null=>true, :default=>nil})
-> 0.0005s
-- add_index(:enumerations, :project_id)
-> 0.0003s
== AddProjectToEnumerations: migrated (0.0009s) ==============================
== AddParentIdToEnumerations: migrating ======================================
-- add_column(:enumerations, :parent_id, :integer, {:null=>true, :default=>nil})
-> 0.0009s
== AddParentIdToEnumerations: migrated (0.0010s) =============================
== AddQueriesGroupBy: migrating ==============================================
-- add_column(:queries, :group_by, :string)
-> 0.0006s
== AddQueriesGroupBy: migrated (0.0006s) =====================================
== CreateMemberRoles: migrating ==============================================
-- create_table(:member_roles)
-> 0.0008s
== CreateMemberRoles: migrated (0.0008s) =====================================
== PopulateMemberRoles: migrating ============================================
== PopulateMemberRoles: migrated (0.0172s) ===================================
== DropMembersRoleId: migrating ==============================================
-- remove_column(:members, :role_id)
-> 0.0087s
== DropMembersRoleId: migrated (0.0087s) =====================================
== FixMessagesStickyNull: migrating ==========================================
== FixMessagesStickyNull: migrated (0.0004s) =================================
== PopulateUsersType: migrating ==============================================
== PopulateUsersType: migrated (0.0003s) =====================================
== CreateGroupsUsers: migrating ==============================================
-- create_table(:groups_users, {:id=>false})
-> 0.0007s
-- add_index(:groups_users, [:group_id, :user_id], {:unique=>true, :name=>:groups_users_ids})
-> 0.0003s
== CreateGroupsUsers: migrated (0.0011s) =====================================
== AddMemberRolesInheritedFrom: migrating ====================================
-- add_column(:member_roles, :inherited_from, :integer)
-> 0.0005s
== AddMemberRolesInheritedFrom: migrated (0.0006s) ===========================
== FixUsersCustomValues: migrating ===========================================
== FixUsersCustomValues: migrated (0.0110s) ==================================
== AddMissingIndexesToWorkflows: migrating ===================================
-- add_index(:workflows, :old_status_id)
-> 0.0004s
-- add_index(:workflows, :role_id)
-> 0.0003s
-- add_index(:workflows, :new_status_id)
-> 0.0003s
== AddMissingIndexesToWorkflows: migrated (0.0011s) ==========================
== AddMissingIndexesToCustomFieldsProjects: migrating ========================
-- add_index(:custom_fields_projects, [:custom_field_id, :project_id])
-> 0.0004s
== AddMissingIndexesToCustomFieldsProjects: migrated (0.0005s) ===============
== AddMissingIndexesToMessages: migrating ====================================
-- add_index(:messages, :last_reply_id)
-> 0.0004s
-- add_index(:messages, :author_id)
-> 0.0003s
== AddMissingIndexesToMessages: migrated (0.0008s) ===========================
== AddMissingIndexesToRepositories: migrating ================================
-- add_index(:repositories, :project_id)
-> 0.0004s
== AddMissingIndexesToRepositories: migrated (0.0004s) =======================
== AddMissingIndexesToComments: migrating ====================================
-- add_index(:comments, [:commented_id, :commented_type])
-> 0.0013s
-- add_index(:comments, :author_id)
-> 0.0003s
== AddMissingIndexesToComments: migrated (0.0017s) ===========================
== AddMissingIndexesToEnumerations: migrating ================================
-- add_index(:enumerations, [:id, :type])
-> 0.0004s
== AddMissingIndexesToEnumerations: migrated (0.0005s) =======================
== AddMissingIndexesToWikiPages: migrating ===================================
-- add_index(:wiki_pages, :wiki_id)
-> 0.0004s
-- add_index(:wiki_pages, :parent_id)
-> 0.0003s
== AddMissingIndexesToWikiPages: migrated (0.0008s) ==========================
== AddMissingIndexesToWatchers: migrating ====================================
-- add_index(:watchers, :user_id)
-> 0.0004s
-- add_index(:watchers, [:watchable_id, :watchable_type])
-> 0.0003s
== AddMissingIndexesToWatchers: migrated (0.0008s) ===========================
== AddMissingIndexesToAuthSources: migrating =================================
-- add_index(:auth_sources, [:id, :type])
-> 0.0004s
== AddMissingIndexesToAuthSources: migrated (0.0005s) ========================
== AddMissingIndexesToDocuments: migrating ===================================
-- add_index(:documents, :category_id)
-> 0.0004s
== AddMissingIndexesToDocuments: migrated (0.0005s) ==========================
== AddMissingIndexesToTokens: migrating ======================================
-- add_index(:tokens, :user_id)
-> 0.0004s
== AddMissingIndexesToTokens: migrated (0.0005s) =============================
== AddMissingIndexesToChangesets: migrating ==================================
-- add_index(:changesets, :user_id)
-> 0.0004s
-- add_index(:changesets, :repository_id)
-> 0.0003s
== AddMissingIndexesToChangesets: migrated (0.0008s) =========================
== AddMissingIndexesToIssueCategories: migrating =============================
-- add_index(:issue_categories, :assigned_to_id)
-> 0.0004s
== AddMissingIndexesToIssueCategories: migrated (0.0005s) ====================
== AddMissingIndexesToMemberRoles: migrating =================================
-- add_index(:member_roles, :member_id)
-> 0.0005s
-- add_index(:member_roles, :role_id)
-> 0.0003s
== AddMissingIndexesToMemberRoles: migrated (0.0008s) ========================
== AddMissingIndexesToBoards: migrating ======================================
-- add_index(:boards, :last_message_id)
-> 0.0004s
== AddMissingIndexesToBoards: migrated (0.0005s) =============================
== AddMissingIndexesToUserPreferences: migrating =============================
-- add_index(:user_preferences, :user_id)
-> 0.0004s
== AddMissingIndexesToUserPreferences: migrated (0.0005s) ====================
== AddMissingIndexesToIssues: migrating ======================================
-- add_index(:issues, :status_id)
-> 0.0004s
-- add_index(:issues, :category_id)
-> 0.0003s
-- add_index(:issues, :assigned_to_id)
-> 0.0003s
-- add_index(:issues, :fixed_version_id)
-> 0.0003s
-- add_index(:issues, :tracker_id)
-> 0.0003s
-- add_index(:issues, :priority_id)
-> 0.0003s
-- add_index(:issues, :author_id)
-> 0.0003s
== AddMissingIndexesToIssues: migrated (0.0025s) =============================
== AddMissingIndexesToMembers: migrating =====================================
-- add_index(:members, :user_id)
-> 0.0004s
-- add_index(:members, :project_id)
-> 0.0003s
== AddMissingIndexesToMembers: migrated (0.0008s) ============================
== AddMissingIndexesToCustomFields: migrating ================================
-- add_index(:custom_fields, [:id, :type])
-> 0.0007s
== AddMissingIndexesToCustomFields: migrated (0.0008s) =======================
== AddMissingIndexesToQueries: migrating =====================================
-- add_index(:queries, :project_id)
-> 0.0005s
-- add_index(:queries, :user_id)
-> 0.0003s
== AddMissingIndexesToQueries: migrated (0.0009s) ============================
== AddMissingIndexesToTimeEntries: migrating =================================
-- add_index(:time_entries, :activity_id)
-> 0.0007s
-- add_index(:time_entries, :user_id)
-> 0.0004s
== AddMissingIndexesToTimeEntries: migrated (0.0012s) ========================
== AddMissingIndexesToNews: migrating ========================================
-- add_index(:news, :author_id)
-> 0.0005s
== AddMissingIndexesToNews: migrated (0.0005s) ===============================
== AddMissingIndexesToUsers: migrating =======================================
-- add_index(:users, [:id, :type])
-> 0.0005s
-- add_index(:users, :auth_source_id)
-> 0.0004s
== AddMissingIndexesToUsers: migrated (0.0009s) ==============================
== AddMissingIndexesToAttachments: migrating =================================
-- add_index(:attachments, [:container_id, :container_type])
-> 0.0005s
-- add_index(:attachments, :author_id)
-> 0.0003s
== AddMissingIndexesToAttachments: migrated (0.0010s) ========================
== AddMissingIndexesToWikiContents: migrating ================================
-- add_index(:wiki_contents, :author_id)
-> 0.0006s
== AddMissingIndexesToWikiContents: migrated (0.0006s) =======================
== AddMissingIndexesToCustomValues: migrating ================================
-- add_index(:custom_values, :custom_field_id)
-> 0.0005s
== AddMissingIndexesToCustomValues: migrated (0.0006s) =======================
== AddMissingIndexesToJournals: migrating ====================================
-- add_index(:journals, :user_id)
-> 0.0005s
-- add_index(:journals, :journalized_id)
-> 0.0003s
== AddMissingIndexesToJournals: migrated (0.0010s) ===========================
== AddMissingIndexesToIssueRelations: migrating ==============================
-- add_index(:issue_relations, :issue_from_id)
-> 0.0005s
-- add_index(:issue_relations, :issue_to_id)
-> 0.0004s
== AddMissingIndexesToIssueRelations: migrated (0.0010s) =====================
== AddMissingIndexesToWikiRedirects: migrating ===============================
-- add_index(:wiki_redirects, :wiki_id)
-> 0.0005s
== AddMissingIndexesToWikiRedirects: migrated (0.0005s) ======================
== AddMissingIndexesToCustomFieldsTrackers: migrating ========================
-- add_index(:custom_fields_trackers, [:custom_field_id, :tracker_id])
-> 0.0005s
== AddMissingIndexesToCustomFieldsTrackers: migrated (0.0006s) ===============
== AddActivityIndexes: migrating =============================================
-- add_index(:journals, :created_on)
-> 0.0006s
-- add_index(:changesets, :committed_on)
-> 0.0004s
-- add_index(:wiki_content_versions, :updated_on)
-> 0.0004s
-- add_index(:messages, :created_on)
-> 0.0004s
-- add_index(:issues, :created_on)
-> 0.0004s
-- add_index(:news, :created_on)
-> 0.0004s
-- add_index(:attachments, :created_on)
-> 0.0004s
-- add_index(:documents, :created_on)
-> 0.0004s
-- add_index(:time_entries, :created_on)
-> 0.0004s
== AddActivityIndexes: migrated (0.0039s) ====================================
== AddVersionsStatus: migrating ==============================================
-- add_column(:versions, :status, :string, {:default=>"open"})
-> 0.0008s
== AddVersionsStatus: migrated (0.0011s) =====================================
== AddViewIssuesPermission: migrating ========================================
== AddViewIssuesPermission: migrated (0.0038s) ===============================
== AddDefaultDoneRatioToIssueStatus: migrating ===============================
-- add_column(:issue_statuses, :default_done_ratio, :integer)
-> 0.0008s
== AddDefaultDoneRatioToIssueStatus: migrated (0.0008s) ======================
== AddVersionsSharing: migrating =============================================
-- add_column(:versions, :sharing, :string, {:null=>false, :default=>"none"})
-> 0.0007s
-- add_index(:versions, :sharing)
-> 0.0004s
== AddVersionsSharing: migrated (0.0012s) ====================================
== AddLftAndRgtIndexesToProjects: migrating ==================================
-- add_index(:projects, :lft)
-> 0.0005s
-- add_index(:projects, :rgt)
-> 0.0004s
== AddLftAndRgtIndexesToProjects: migrated (0.0010s) =========================
== AddIndexToSettingsName: migrating =========================================
-- add_index(:settings, :name)
-> 0.0006s
== AddIndexToSettingsName: migrated (0.0006s) ================================
== AddIndexesToIssueStatus: migrating ========================================
-- add_index(:issue_statuses, :position)
-> 0.0005s
-- add_index(:issue_statuses, :is_closed)
-> 0.0003s
-- add_index(:issue_statuses, :is_default)
-> 0.0003s
== AddIndexesToIssueStatus: migrated (0.0013s) ===============================
== RemoveEnumerationsOpt: migrating ==========================================
-- remove_column(:enumerations, :opt)
-> 0.0214s
== RemoveEnumerationsOpt: migrated (0.0215s) =================================
== ChangeWikiContentsTextLimit: migrating ====================================
== ChangeWikiContentsTextLimit: migrated (0.0000s) ===========================
== AddIndexOnChangesetsScmid: migrating ======================================
-- add_index(:changesets, [:repository_id, :scmid], {:name=>:changesets_repos_scmid})
-> 0.0005s
== AddIndexOnChangesetsScmid: migrated (0.0006s) =============================
Loaded suite /usr/local/bin/rake
Started
Finished in 0.000159 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
+ rake db:migrate_plugins RAILS_ENV=test
(in /usr/local/test/redmine-0.9-stable)
Migrating engines...
Migrating acts_as_activity_provider...
Migrating acts_as_attachable...
Migrating acts_as_customizable...
Migrating acts_as_event...
Migrating acts_as_list...
Migrating acts_as_searchable...
Migrating acts_as_tree...
Migrating acts_as_versioned...
Migrating acts_as_watchable...
Migrating awesome_nested_set...
Migrating classic_pagination...
Migrating coderay-0.7.6.227...
Migrating gravatar...
Migrating object_daddy...
Migrating open_id_authentication...
Migrating prepend_engine_views...
Migrating redmine_hudson...
== CreateHudsonSettings: migrating ===========================================
-- create_table(:hudson_settings)
-> 0.0017s
== CreateHudsonSettings: migrated (0.0018s) ==================================
== AddShowCompact: migrating =================================================
-- add_column(:hudson_settings, :show_compact, :boolean, {:default=>false})
-> 0.0070s
== AddShowCompact: migrated (0.0071s) ========================================
== AddAuthUserPassword: migrating ============================================
-- add_column(:hudson_settings, :auth_user, :string, {:default=>""})
-> 0.0007s
-- add_column(:hudson_settings, :auth_password, :string, {:default=>""})
-> 0.0005s
== AddAuthUserPassword: migrated (0.0013s) ===================================
== CreateHudsonJobs: migrating ===============================================
-- create_table(:hudson_jobs)
-> 0.0013s
-- create_table(:hudson_builds)
-> 0.0011s
-- create_table(:hudson_build_changesets)
-> 0.0008s
== CreateHudsonJobs: migrated (0.0034s) ======================================
== AddCausedByToHudsonBuild: migrating =======================================
-- add_column(:hudson_builds, :caused_by, :integer)
-> 0.0006s
== AddCausedByToHudsonBuild: migrated (0.0007s) ==============================
== AddHealthReportKeywordsToHudsonSettings: migrating ========================
-- add_column(:hudson_settings, :health_report_build_stability, :string, {:default=>"Build stability"})
-> 0.0007s
-- add_column(:hudson_settings, :health_report_test_result, :string, {:default=>"Test Result"})
-> 0.0005s
== AddHealthReportKeywordsToHudsonSettings: migrated (0.0017s) ===============
== CreateHudsonBuildTestResults: migrating ===================================
-- create_table(:hudson_build_test_results)
-> 0.0013s
== CreateHudsonBuildTestResults: migrated (0.0013s) ==========================
== AddGetBuildDetailsToHudsonSettings: migrating =============================
-- add_column(:hudson_settings, :get_build_details, :boolean, {:default=>true})
-> 0.0007s
== AddGetBuildDetailsToHudsonSettings: migrated (0.0007s) ====================
== AddLookAndFeelToHudsonSettings: migrating =================================
-- add_column(:hudson_settings, :look_and_feel, :string, {:default=>"Hudson"})
-> 0.0007s
== AddLookAndFeelToHudsonSettings: migrated (0.0009s) ========================
== CreateHudsonSettingsHealthReports: migrating ==============================
-- create_table(:hudson_settings_health_reports)
-> 0.0009s
-- remove_column(:hudson_settings, :health_report_build_stability)
-> 0.0137s
-- remove_column(:hudson_settings, :health_report_test_result)
-> 0.0124s
== CreateHudsonSettingsHealthReports: migrated (0.0275s) =====================
== AddDescriptionAndStateToHudsonJobs: migrating =============================
-- add_column(:hudson_jobs, :description, :text)
-> 0.0006s
-- add_column(:hudson_jobs, :state, :string)
-> 0.0005s
== AddDescriptionAndStateToHudsonJobs: migrated (0.0012s) ====================
== CreateHudsonHealthReports: migrating ======================================
-- create_table(:hudson_health_reports)
-> 0.0010s
== CreateHudsonHealthReports: migrated (0.0010s) =============================
== UpdateBuilding: migrating =================================================
== UpdateBuilding: migrated (0.0006s) ========================================
== UpdateHudsonBuildsErrorAndCausedBy: migrating =============================
== UpdateHudsonBuildsErrorAndCausedBy: migrated (0.0005s) ====================
== CreateHudsonBuildArtifacts: migrating =====================================
-- create_table(:hudson_build_artifacts)
-> 0.0013s
== CreateHudsonBuildArtifacts: migrated (0.0014s) ============================
== CreateHudsonJobSettings: migrating ========================================
-- create_table(:hudson_job_settings)
-> 0.0019s
== CreateHudsonJobSettings: migrated (0.0020s) ===============================
== AddRecordHudsonJobSettings: migrating =====================================
== AddRecordHudsonJobSettings: migrated (0.0052s) ============================
== ChangeColumnHudsonBuildNumber: migrating ==================================
-- add_column(:hudson_builds, :number_new, :integer)
-> 0.0011s
-- remove_column(:hudson_builds, :number)
-> 0.0138s
-- rename_column(:hudson_builds, :number_new, :number)
-> 0.0116s
== ChangeColumnHudsonBuildNumber: migrated (0.0271s) =========================
== AddUrlForPluginToHudsonSettings: migrating ================================
-- add_column(:hudson_settings, :url_for_plugin, :string, {:default=>""})
-> 0.0008s
== AddUrlForPluginToHudsonSettings: migrated (0.0008s) =======================
Migrating rfpdf...
Migrating ruby-net-ldap-0.0.4...
Loaded suite /usr/local/bin/rake
Started
Finished in 0.000157 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
[redmine-0.9-stable] $ rake redmine_hudson:test:unit RAILS_ENV=test
(in /usr/local/test/redmine-0.9-stable)
./test/unit/../../../../../app/models/setting.rb:29: warning: already initialized constant DATE_FORMATS
./test/unit/../../../../../app/models/setting.rb:34: warning: already initialized constant TIME_FORMATS
./test/unit/../../../../../app/models/setting.rb:74: warning: already initialized constant ENCODINGS
Loaded suite /usr/local/bin/rcov
Started
.....DEPRECATION WARNING: truncate takes an option hash instead of separate length and omission arguments. (called from initialize at /usr/local/test/redmine-0.9-stable/vendor/plugins/redmine_hudson/app/models/hudson_exceptions.rb:35)
DEPRECATION WARNING: truncate takes an option hash instead of separate length and omission arguments. (called from test_rexml_parse_error at ./test/unit/hudson_api_exception_test.rb:70)
.............................................................................................
Finished in 4.704999 seconds.
98 tests, 264 assertions, 0 failures, 0 errors
Loaded suite /usr/local/bin/rake
Started
Finished in 0.000212 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
[redmine-0.9-stable] $ rake redmine_hudson:test:feature RAILS_ENV=test
(in /usr/local/test/redmine-0.9-stable)
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
(::) R O T T E N C U C U M B E R A L E R T (::)
Your /usr/local/test/redmine-0.9-stable/vendor/plugins/redmine_hudson/test/features/support/env.rb file was generated with Cucumber 0.4.3,
but you seem to be running Cucumber 0.6.3. If you're running an older
version than 0.6.3, just upgrade your gem. If you're running a newer
version than 0.6.3 you should:
1) Read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
2) Regenerate your cucumber environment with the following command:
ruby script/generate cucumber
If you get prompted to replace a file, hit 'd' to see the difference.
When you're sure you have captured any personal edits, confirm that you
want to overwrite /usr/local/test/redmine-0.9-stable/vendor/plugins/redmine_hudson/test/features/support/env.rb by pressing 'y'. Then reapply any
personal changes that may have been overwritten, preferably in separate files.
This message will then self destruct.
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
# $Id: hudson_index.feature 477 2010-03-27 16:45:28Z toshiyuki.ando1971 $
Feature: index
show hudson jobs with latest build results
Scenario: If 'Developer' don't have 'view_hudson' permission, Redmine don't show hudson tab on the menu # test/features/hudson_index.feature:5
Given Project "eCookbook" uses "hudson" Plugin # test/features/step_definitions/redmine_steps.rb:35
And I log on as a User # test/features/step_definitions/redmine_steps.rb:3
And I select "English" as language # test/features/step_definitions/redmine_steps.rb:13
And I join "eCookbook" Project as a "Developer" # test/features/step_definitions/redmine_steps.rb:24
When I go to "eCookbook" Project # test/features/step_definitions/webrat_steps.rb:16
Then I should not see "Hudson" within "#main-menu" # test/features/step_definitions/webrat_steps.rb:150
Scenario: If 'Developer' have 'view_hudson' permission, Redmine show hudson tab on the menu # test/features/hudson_index.feature:15
Given Project "eCookbook" uses "hudson" Plugin # test/features/step_definitions/redmine_steps.rb:35
And "Developer" has a permission "view_hudson" # test/features/step_definitions/redmine_steps.rb:43
And I log on as a User # test/features/step_definitions/redmine_steps.rb:3
And I select "English" as language # test/features/step_definitions/redmine_steps.rb:13
And I join "eCookbook" Project as a "Developer" # test/features/step_definitions/redmine_steps.rb:24
When I go to "eCookbook" Project # test/features/step_definitions/webrat_steps.rb:16
Then I should see "Hudson" within "#main-menu" # test/features/step_definitions/webrat_steps.rb:128
Scenario: If project has no Hudson settings, plugin show message # test/features/hudson_index.feature:26
Given Project "eCookbook" uses "hudson" Plugin # test/features/step_definitions/redmine_steps.rb:35
And "Developer" has a permission "view_hudson,edit_hudson_settings" # test/features/step_definitions/redmine_steps.rb:43
And I log on as a User # test/features/step_definitions/redmine_steps.rb:3
And I select "English" as language # test/features/step_definitions/redmine_steps.rb:13
And I join "eCookbook" Project as a "Developer" # test/features/step_definitions/redmine_steps.rb:24
When I go to Hudson at "eCookbook" Project # test/features/step_definitions/webrat_steps.rb:16
Then I should see "No settings for this project. Please confirm settings" # test/features/step_definitions/webrat_steps.rb:124
When I follow "confirm settings" # test/features/step_definitions/webrat_steps.rb:24
Then I should see "Settings" # test/features/step_definitions/webrat_steps.rb:124
When I fill in "http://localhost:8080" for "settings[url]" # test/features/step_definitions/webrat_steps.rb:36
And I press "Save" # test/features/step_definitions/webrat_steps.rb:20
Then the field named "settings[url]" should contain "http://localhost:8080/" # test/features/step_definitions/webrat_steps_add.rb:9
When I go to Hudson at "eCookbook" Project # test/features/step_definitions/webrat_steps.rb:16
Then I should see "No Jobs" # test/features/step_definitions/webrat_steps.rb:124
Scenario: Show job simple-ruby-application # test/features/hudson_index.feature:45
Given Project "eCookbook" uses "hudson" Plugin # test/features/step_definitions/redmine_steps.rb:35
And "Developer" has a permission "view_hudson,edit_hudson_settings" # test/features/step_definitions/redmine_steps.rb:43
And I log on as a User # test/features/step_definitions/redmine_steps.rb:3
And I select "English" as language # test/features/step_definitions/redmine_steps.rb:13
And I join "eCookbook" Project as a "Developer" # test/features/step_definitions/redmine_steps.rb:24
And Hudson API returns "simple-ruby-application" as depth0 # test/features/step_definitions/hudson_steps.rb:62
When I go to HudsonSettings at "eCookbook" Project # test/features/step_definitions/webrat_steps.rb:16
Then I fill in "http://localhost:8080" for "settings[url]" # test/features/step_definitions/webrat_steps.rb:36
And I check "settings_jobs_simple-ruby-application" # test/features/step_definitions/webrat_steps.rb:108
And I press "Save" # test/features/step_definitions/webrat_steps.rb:20
Given Hudson API returns "simple-ruby-application" as depth1 # test/features/step_definitions/hudson_steps.rb:70
When I go to Hudson at "eCookbook" Project # test/features/step_definitions/webrat_steps.rb:16
Then I should see "simple-ruby-application" within "#job-state-simple-ruby-application" # test/features/step_definitions/webrat_steps.rb:128
And I should see "app" linked to "http://localhost:8080/job/simple-ruby-application/3/artifact/SimpleRubyApplication/source/app.rb" # test/features/step_definitions/webrat_steps_add.rb:13
And I should see "readme" linked to "http://localhost:8080/job/simple-ruby-application/3/artifact/SimpleRubyApplication/readme.rdoc" # test/features/step_definitions/webrat_steps_add.rb:13
# $Id: hudson_index.feature 477 2010-03-27 16:45:28Z toshiyuki.ando1971 $
Feature: issue
show hudson build results on issue
Scenario: Show job simple-ruby-application # test/features/hudson_issue.feature:5
Given Project "eCookbook" uses "hudson" Plugin # test/features/step_definitions/redmine_steps.rb:35
And "Developer" has a permission "view_hudson,edit_hudson_settings" # test/features/step_definitions/redmine_steps.rb:43
And I log on as a User # test/features/step_definitions/redmine_steps.rb:3
And I select "English" as language # test/features/step_definitions/redmine_steps.rb:13
And I join "eCookbook" Project as a "Developer" # test/features/step_definitions/redmine_steps.rb:24
And "eCookbook" Project Has Hudson Jobs: # test/features/step_definitions/hudson_steps.rb:6
| name |
| simple-ruby-application |
And Hudson Job "simple-ruby-application" Has Hudson Build Results: # test/features/step_definitions/hudson_steps.rb:34
| number | result | finished_at | building | error | caused_by | revisions |
| 5 | SUCCESS | #today | false | | 1 | 2 |
And Issue #1 is related to revisions "2" # test/features/step_definitions/redmine_steps.rb:52
When I show issue #1 # test/features/step_definitions/webrat_steps_add.rb:5
Then I should see "new RevisionBuildResults('2');" # test/features/step_definitions/webrat_steps.rb:124
And I should see "BuildResult('simple-ruby-application',5,'SUCCESS'" # test/features/step_definitions/webrat_steps.rb:124
And I should see ",'http://redmine.local/hudson/job/simple-ruby-application/5'));" # test/features/step_definitions/webrat_steps.rb:124
5 scenarios (5 passed)
54 steps (54 passed)
0m9.248s
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
(::) R O T T E N C U C U M B E R A L E R T (::)
Your /usr/local/test/redmine-0.9-stable/vendor/plugins/redmine_hudson/test/features/support/env.rb file was generated with Cucumber 0.4.3,
but you seem to be running Cucumber 0.6.3. If you're running an older
version than 0.6.3, just upgrade your gem. If you're running a newer
version than 0.6.3 you should:
1) Read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
2) Regenerate your cucumber environment with the following command:
ruby script/generate cucumber
If you get prompted to replace a file, hit 'd' to see the difference.
When you're sure you have captured any personal edits, confirm that you
want to overwrite /usr/local/test/redmine-0.9-stable/vendor/plugins/redmine_hudson/test/features/support/env.rb by pressing 'y'. Then reapply any
personal changes that may have been overwritten, preferably in separate files.
This message will then self destruct.
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
[plugins] $ /bin/sh -xe /tmp/hudson4620962707335654077.sh
+ find redmine_hudson -type f
+ xargs chmod 644
+ find redmine_hudson -type d
+ xargs chmod 755
[plugins] $ ruby -v /tmp/hudson1404451475652854822.rb
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
adding: redmine_hudson/ (stored 0%)
adding: redmine_hudson/coverage/ (stored 0%)
adding: redmine_hudson/coverage/app-models-hudson_build_artifact_rb.html (deflated 70%)
adding: redmine_hudson/coverage/lib-query_patch_rb.html (deflated 89%)
adding: redmine_hudson/coverage/lib-hudson_application_hooks_rb.html (deflated 85%)
adding: redmine_hudson/coverage/jquery.tablesorter.min.js (deflated 69%)
adding: redmine_hudson/coverage/screen.css (deflated 72%)
adding: redmine_hudson/coverage/app-models-hudson_settings_health_report_rb.html (deflated 79%)
adding: redmine_hudson/coverage/jquery-1.3.2.min.js (deflated 66%)
adding: redmine_hudson/coverage/app-models-hudson_build_changeset_rb.html (deflated 76%)
adding: redmine_hudson/coverage/app-models-hudson_job_settings_rb.html (deflated 83%)
adding: redmine_hudson/coverage/app-models-hudson_build_test_result_rb.html (deflated 74%)
adding: redmine_hudson/coverage/app-models-hudson_settings_rb.html (deflated 82%)
adding: redmine_hudson/coverage/app-models-hudson_health_report_rb.html (deflated 79%)
adding: redmine_hudson/coverage/rcov.js (deflated 59%)
adding: redmine_hudson/coverage/app-models-hudson_build_rb.html (deflated 88%)
adding: redmine_hudson/coverage/app-models-hudson_rb.html (deflated 88%)
adding: redmine_hudson/coverage/app-helpers-rexml_helper_rb.html (deflated 74%)
adding: redmine_hudson/coverage/app-helpers-hudson_helper_rb.html (deflated 85%)
adding: redmine_hudson/coverage/print.css (deflated 32%)
adding: redmine_hudson/coverage/app-models-hudson_api_error_rb.html (deflated 74%)
adding: redmine_hudson/coverage/app-models-hudson_job_rb.html (deflated 89%)
adding: redmine_hudson/coverage/app-models-hudson_build_rotator_rb.html (deflated 85%)
adding: redmine_hudson/coverage/index.html (deflated 89%)
adding: redmine_hudson/coverage/app-models-hudson_exceptions_rb.html (deflated 81%)
adding: redmine_hudson/lang/ (stored 0%)
adding: redmine_hudson/lang/en.yml (deflated 60%)
adding: redmine_hudson/lang/ja.yml (deflated 58%)
adding: redmine_hudson/lang/it.yml (deflated 59%)
adding: redmine_hudson/lang/de.yml (deflated 59%)
adding: redmine_hudson/lang/fr.yml (deflated 60%)
adding: redmine_hudson/lang/hu.yml (deflated 59%)
adding: redmine_hudson/lang/es.yml (deflated 60%)
adding: redmine_hudson/lib/ (stored 0%)
adding: redmine_hudson/lib/hudson_application_hooks.rb (deflated 67%)
adding: redmine_hudson/lib/query_patch.rb (deflated 78%)
adding: redmine_hudson/lib/tasks/ (stored 0%)
adding: redmine_hudson/lib/tasks/testing.rake (deflated 53%)
adding: redmine_hudson/lib/tasks/fetch.rake (deflated 23%)
adding: redmine_hudson/config/ (stored 0%)
adding: redmine_hudson/config/locales/ (stored 0%)
adding: redmine_hudson/config/locales/en.yml (deflated 62%)
adding: redmine_hudson/config/locales/ja.yml (deflated 60%)
adding: redmine_hudson/config/locales/it.yml (deflated 61%)
adding: redmine_hudson/config/locales/de.yml (deflated 60%)
adding: redmine_hudson/config/locales/fr.yml (deflated 61%)
adding: redmine_hudson/config/locales/hu.yml (deflated 61%)
adding: redmine_hudson/config/locales/es.yml (deflated 61%)
adding: redmine_hudson/assets/ (stored 0%)
adding: redmine_hudson/assets/images/ (stored 0%)
adding: redmine_hudson/assets/images/grey_anime.png (deflated 2%)
adding: redmine_hudson/assets/images/hudson_icon.png (stored 0%)
adding: redmine_hudson/assets/images/blue.png (deflated 3%)
adding: redmine_hudson/assets/images/red_anime.png (deflated 6%)
adding: redmine_hudson/assets/images/console.png (deflated 4%)
adding: redmine_hudson/assets/images/today.png (stored 0%)
adding: redmine_hudson/assets/images/red.png (deflated 2%)
adding: redmine_hudson/assets/images/yellow.png (deflated 2%)
adding: redmine_hudson/assets/images/grey.png (deflated 1%)
adding: redmine_hudson/assets/images/disabled.png (stored 0%)
adding: redmine_hudson/assets/images/blue_anime.png (deflated 2%)
adding: redmine_hudson/assets/images/yellow_anime.png (deflated 1%)
adding: redmine_hudson/assets/javascripts/ (stored 0%)
adding: redmine_hudson/assets/javascripts/build_artifacts.js (deflated 59%)
adding: redmine_hudson/assets/javascripts/build_request.js (deflated 62%)
adding: redmine_hudson/assets/javascripts/description_visibility_controller.js (deflated 66%)
adding: redmine_hudson/assets/javascripts/hudson_settings.js (deflated 57%)
adding: redmine_hudson/assets/javascripts/build_result.js (deflated 52%)
adding: redmine_hudson/assets/javascripts/revision_build_results.js (deflated 38%)
adding: redmine_hudson/assets/javascripts/build_history.js (deflated 59%)
adding: redmine_hudson/assets/javascripts/job_settings_field_controller.js (deflated 59%)
adding: redmine_hudson/assets/stylesheets/ (stored 0%)
adding: redmine_hudson/assets/stylesheets/hudson.css (deflated 57%)
adding: redmine_hudson/init.rb (deflated 52%)
adding: redmine_hudson/README.rdoc (deflated 60%)
adding: redmine_hudson/app/ (stored 0%)
adding: redmine_hudson/app/models/ (stored 0%)
adding: redmine_hudson/app/models/hudson_job.rb (deflated 75%)
adding: redmine_hudson/app/models/hudson_exceptions.rb (deflated 59%)
adding: redmine_hudson/app/models/hudson_build.rb (deflated 71%)
adding: redmine_hudson/app/models/hudson_build_artifact.rb (deflated 24%)
adding: redmine_hudson/app/models/hudson_api_error.rb (deflated 46%)
adding: redmine_hudson/app/models/hudson_build_changeset.rb (deflated 43%)
adding: redmine_hudson/app/models/hudson_settings_health_report.rb (deflated 55%)
adding: redmine_hudson/app/models/hudson_settings.rb (deflated 53%)
adding: redmine_hudson/app/models/hudson.rb (deflated 70%)
adding: redmine_hudson/app/models/hudson_build_rotator.rb (deflated 71%)
adding: redmine_hudson/app/models/hudson_build_test_result.rb (deflated 37%)
adding: redmine_hudson/app/models/hudson_health_report.rb (deflated 58%)
adding: redmine_hudson/app/models/hudson_query_filter.rb (deflated 48%)
adding: redmine_hudson/app/models/hudson_job_settings.rb (deflated 60%)
adding: redmine_hudson/app/views/ (stored 0%)
adding: redmine_hudson/app/views/hudson_settings/ (stored 0%)
adding: redmine_hudson/app/views/hudson_settings/_joblist.rhtml (deflated 59%)
adding: redmine_hudson/app/views/hudson_settings/_job_settings.erb (deflated 72%)
adding: redmine_hudson/app/views/hudson_settings/_health_report_setting.erb (deflated 50%)
adding: redmine_hudson/app/views/hudson_settings/_redmine_hudson_settings.erb (deflated 66%)
adding: redmine_hudson/app/views/hudson_settings/edit.rhtml (deflated 64%)
adding: redmine_hudson/app/views/hudson/ (stored 0%)
adding: redmine_hudson/app/views/hudson/index.rhtml (deflated 69%)
adding: redmine_hudson/app/views/hudson/_history.rhtml (deflated 31%)
adding: redmine_hudson/app/views/hudson/_icon_style_hudson.erb (deflated 76%)
adding: redmine_hudson/app/views/hudson/_icon_style_plugin.erb (deflated 76%)
adding: redmine_hudson/app/views/hudson/_hudson_sidebar.rhtml (deflated 28%)
adding: redmine_hudson/app/controllers/ (stored 0%)
adding: redmine_hudson/app/controllers/hudson_settings_controller.rb (deflated 70%)
adding: redmine_hudson/app/controllers/hudson_controller.rb (deflated 67%)
adding: redmine_hudson/app/helpers/ (stored 0%)
adding: redmine_hudson/app/helpers/hudson_helper.rb (deflated 62%)
adding: redmine_hudson/app/helpers/rexml_helper.rb (deflated 47%)
adding: redmine_hudson/test/ (stored 0%)
adding: redmine_hudson/test/responses/ (stored 0%)
adding: redmine_hudson/test/responses/hudson_5_fetch_job.xml (deflated 67%)
adding: redmine_hudson/test/responses/hudson_1_fetch_job_simple_ruby_application_build_detail_completed.xml (deflated 75%)
adding: redmine_hudson/test/responses/hudson_1_fetch_job_simple_ruby_application_build_detail.xml (deflated 68%)
adding: redmine_hudson/test/responses/hudson_1_fetch_job.xml (deflated 61%)
adding: redmine_hudson/test/responses/hudson_1_fetch_job_simple_ruby_application_rssAll.xml (deflated 64%)
adding: redmine_hudson/test/responses/hudson_simple_ruby_application_config.xml (deflated 65%)
adding: redmine_hudson/test/responses/hudson_4_fetch_job.xml (deflated 52%)
adding: redmine_hudson/test/responses/hudson_2_fetch_job.xml (deflated 67%)
adding: redmine_hudson/test/responses/hudson_3_fetch_job.xml (deflated 51%)
adding: redmine_hudson/test/test_helper.rb (deflated 33%)
adding: redmine_hudson/test/fixtures/ (stored 0%)
adding: redmine_hudson/test/fixtures/hudson_jobs.yml (deflated 72%)
adding: redmine_hudson/test/fixtures/hudson_build_changesets.yml (deflated 24%)
adding: redmine_hudson/test/fixtures/hudson_build_artifacts.yml (deflated 17%)
adding: redmine_hudson/test/fixtures/hudson_job_settings.yml (deflated 60%)
adding: redmine_hudson/test/fixtures/hudson_builds.yml (deflated 46%)
adding: redmine_hudson/test/fixtures/hudson_settings.yml (deflated 74%)
adding: redmine_hudson/test/fixtures/hudson_settings_health_reports.yml (deflated 50%)
adding: redmine_hudson/test/features/ (stored 0%)
adding: redmine_hudson/test/features/hudson_issue.feature (deflated 53%)
adding: redmine_hudson/test/features/hudson_index.feature (deflated 76%)
adding: redmine_hudson/test/features/step_definitions/ (stored 0%)
adding: redmine_hudson/test/features/step_definitions/redmine_steps.rb (deflated 65%)
adding: redmine_hudson/test/features/step_definitions/webrat_steps_add.rb (deflated 33%)
adding: redmine_hudson/test/features/step_definitions/webrat_steps.rb (deflated 71%)
adding: redmine_hudson/test/features/step_definitions/hudson_steps.rb (deflated 68%)
adding: redmine_hudson/test/features/support/ (stored 0%)
adding: redmine_hudson/test/features/support/env.rb (deflated 54%)
adding: redmine_hudson/test/features/support/paths.rb (deflated 47%)
adding: redmine_hudson/test/features/support/version_check.rb (deflated 46%)
adding: redmine_hudson/test/unit/ (stored 0%)
adding: redmine_hudson/test/unit/hudson_build_changeset_test.rb (deflated 65%)
adding: redmine_hudson/test/unit/hudson_settings_test.rb (deflated 74%)
adding: redmine_hudson/test/unit/hudson_settings_health_report_test.rb (deflated 76%)
adding: redmine_hudson/test/unit/hudson_application_hooks_test.rb (deflated 64%)
adding: redmine_hudson/test/unit/hudson_build_test_result_test.rb (deflated 39%)
adding: redmine_hudson/test/unit/hudson_job_test.rb (deflated 73%)
adding: redmine_hudson/test/unit/hudson_build_rotator_test.rb (deflated 82%)
adding: redmine_hudson/test/unit/hudson_health_report_test.rb (deflated 54%)
adding: redmine_hudson/test/unit/hudson_api_exception_test.rb (deflated 74%)
adding: redmine_hudson/test/unit/hudson_helper_test.rb (deflated 73%)
adding: redmine_hudson/test/unit/hudson_build_test.rb (deflated 80%)
adding: redmine_hudson/test/unit/hudson_test.rb (deflated 83%)
adding: redmine_hudson/test/unit/hudson_job_settings_test.rb (deflated 58%)
adding: redmine_hudson/test/unit/hudson_no_build_test.rb (deflated 26%)
adding: redmine_hudson/test/unit/hudson_build_artifact_test.rb (deflated 50%)
adding: redmine_hudson/README.ja.rdoc (deflated 65%)
adding: redmine_hudson/features_rcov/ (stored 0%)
adding: redmine_hudson/features_rcov/app-models-hudson_build_artifact_rb.html (deflated 70%)
adding: redmine_hudson/features_rcov/lib-query_patch_rb.html (deflated 89%)
adding: redmine_hudson/features_rcov/lib-hudson_application_hooks_rb.html (deflated 85%)
adding: redmine_hudson/features_rcov/jquery.tablesorter.min.js (deflated 69%)
adding: redmine_hudson/features_rcov/screen.css (deflated 72%)
adding: redmine_hudson/features_rcov/app-models-hudson_settings_health_report_rb.html (deflated 79%)
adding: redmine_hudson/features_rcov/jquery-1.3.2.min.js (deflated 66%)
adding: redmine_hudson/features_rcov/app-controllers-hudson_settings_controller_rb.html (deflated 88%)
adding: redmine_hudson/features_rcov/app-models-hudson_build_changeset_rb.html (deflated 76%)
adding: redmine_hudson/features_rcov/app-models-hudson_job_settings_rb.html (deflated 83%)
adding: redmine_hudson/features_rcov/app-models-hudson_build_test_result_rb.html (deflated 74%)
adding: redmine_hudson/features_rcov/app-models-hudson_settings_rb.html (deflated 82%)
adding: redmine_hudson/features_rcov/app-models-hudson_health_report_rb.html (deflated 79%)
adding: redmine_hudson/features_rcov/rcov.js (deflated 59%)
adding: redmine_hudson/features_rcov/app-controllers-hudson_controller_rb.html (deflated 86%)
adding: redmine_hudson/features_rcov/app-models-hudson_build_rb.html (deflated 88%)
adding: redmine_hudson/features_rcov/app-models-hudson_rb.html (deflated 88%)
adding: redmine_hudson/features_rcov/app-helpers-rexml_helper_rb.html (deflated 74%)
adding: redmine_hudson/features_rcov/app-helpers-hudson_helper_rb.html (deflated 85%)
adding: redmine_hudson/features_rcov/print.css (deflated 32%)
adding: redmine_hudson/features_rcov/app-models-hudson_api_error_rb.html (deflated 74%)
adding: redmine_hudson/features_rcov/app-models-hudson_job_rb.html (deflated 89%)
adding: redmine_hudson/features_rcov/app-models-hudson_build_rotator_rb.html (deflated 85%)
adding: redmine_hudson/features_rcov/index.html (deflated 89%)
adding: redmine_hudson/features_rcov/app-models-hudson_exceptions_rb.html (deflated 81%)
adding: redmine_hudson/db/ (stored 0%)
adding: redmine_hudson/db/migrate/ (stored 0%)
adding: redmine_hudson/db/migrate/019_add_url_for_plugin_to_hudson_settings.rb (deflated 36%)
adding: redmine_hudson/db/migrate/015_create_hudson_build_artifacts.rb (deflated 47%)
adding: redmine_hudson/db/migrate/013_update_building.rb (deflated 54%)
adding: redmine_hudson/db/migrate/008_add_get_build_details_to_hudson_settings.rb (deflated 38%)
adding: redmine_hudson/db/migrate/004_create_hudson_jobs.rb (deflated 68%)
adding: redmine_hudson/db/migrate/014_update_hudson_builds_error_and_caused_by.rb (deflated 35%)
adding: redmine_hudson/db/migrate/017_add_record_hudson_job_settings.rb (deflated 41%)
adding: redmine_hudson/db/migrate/009_add_look_and_feel_to_hudson_settings.rb (deflated 40%)
adding: redmine_hudson/db/migrate/003_add_auth_user_password.rb (deflated 49%)
adding: redmine_hudson/db/migrate/005_add_caused_by_to_hudson_build.rb (deflated 35%)
adding: redmine_hudson/db/migrate/010_create_hudson_settings_health_reports.rb (deflated 72%)
adding: redmine_hudson/db/migrate/007_create_hudson_build_test_results.rb (deflated 50%)
adding: redmine_hudson/db/migrate/018_change_column_hudson_build_number.rb (deflated 66%)
adding: redmine_hudson/db/migrate/001_create_hudson_settings.rb (deflated 41%)
adding: redmine_hudson/db/migrate/006_add_health_report_keywords_to_hudson_settings.rb (deflated 59%)
adding: redmine_hudson/db/migrate/016_create_hudson_job_settings.rb (deflated 50%)
adding: redmine_hudson/db/migrate/011_add_description_and_state_to_hudson_jobs.rb (deflated 45%)
adding: redmine_hudson/db/migrate/002_add_show_compact.rb (deflated 34%)
adding: redmine_hudson/db/migrate/012_create_hudson_health_reports.rb (deflated 44%)
Archiving artifacts
Publishing rcov report...
Sending e-mails to: couger@kt.rim.or.jp
Hudson Plugin(trunk) #21 is already in the queue
Finished: SUCCESS