diff --git a/lib/capistrano/configuration/alias_task.rb b/lib/capistrano/configuration/alias_task.rb index 0917f354..03e1fcc6 100644 --- a/lib/capistrano/configuration/alias_task.rb +++ b/lib/capistrano/configuration/alias_task.rb @@ -15,6 +15,7 @@ module Capistrano options = {} options[:desc] = task.description options[:on_error] = task.on_error + options[:max_hosts] = task.max_hosts task(new_name, options, &task.body) end diff --git a/test/configuration/alias_task_test.rb b/test/configuration/alias_task_test.rb index 99c4467c..a9bdc146 100644 --- a/test/configuration/alias_task_test.rb +++ b/test/configuration/alias_task_test.rb @@ -57,6 +57,16 @@ class AliasTaskTest < Test::Unit::TestCase assert_equal task.on_error, new_task.on_error end + def test_aliased_task_should_preserve_max_hosts + @config.task(:foo, :max_hosts => 5) { 42 } + @config.alias_task 'new_foo', 'foo' + + task = @config.find_task('foo') + new_task = @config.find_task('new_foo') + + assert_equal task.max_hosts, new_task.max_hosts + end + def test_raise_exception_when_task_doesnt_exist assert_raises(Capistrano::NoSuchTaskError) { @config.alias_task 'non_existant_task', 'fail_miserably' } end