1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rake: Update to rake 10.4.2

* test/rake: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
hsbt 2014-12-06 00:22:51 +00:00
parent e70210cad6
commit e2bbfaa67c
7 changed files with 47 additions and 34 deletions

View file

@ -1,3 +1,8 @@
Sat Dec 6 09:22:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
* lib/rake: Update to rake 10.4.2
* test/rake: ditto.
Sat Dec 6 06:48:03 2014 Eric Wong <e@80x24.org>
* compile.c (rb_iseq_build_from_ary): remove misc handling

View file

@ -21,7 +21,7 @@
#++
module Rake
VERSION = '10.4.0'
VERSION = '10.4.2'
end
require 'rake/version'

View file

@ -20,9 +20,6 @@ module Rake
include TaskManager
include TraceOutput
# The command-line arguments rake is using (defaults to ARGV)
attr_reader :argv # :nodoc:
# The name of the application (typically 'rake')
attr_reader :name
@ -48,7 +45,6 @@ module Rake
# Initialize a Rake::Application object.
def initialize
super
@argv = ARGV.dup
@name = 'rake'
@rakefiles = DEFAULT_RAKEFILES.dup
@rakefile = nil
@ -77,8 +73,6 @@ module Rake
# call +top_level+ to run your top level tasks.
def run
standard_exception_handling do
@argv = argv
init
load_rakefile
top_level
@ -89,8 +83,8 @@ module Rake
def init(app_name='rake')
standard_exception_handling do
@name = app_name
handle_options
collect_command_line_tasks
args = handle_options
collect_command_line_tasks(args)
end
end
@ -622,7 +616,9 @@ module Rake
end
private :select_trace_output
# Read and handle the command line options.
# Read and handle the command line options. Returns the command line
# arguments that we didn't understand, which should (in theory) be just
# task names and env vars.
def handle_options # :nodoc:
options.rakelib = ['rakelib']
options.trace_output = $stderr
@ -639,7 +635,7 @@ module Rake
standard_rake_options.each { |args| opts.on(*args) }
opts.environment('RAKEOPT')
end.parse! @argv
end.parse(ARGV)
end
# Similar to the regular Ruby +require+ command, but will check
@ -733,9 +729,14 @@ module Rake
# Collect the list of tasks on the command line. If no tasks are
# given, return a list containing only the default task.
# Environmental assignments are processed at this time as well.
def collect_command_line_tasks # :nodoc:
#
# `args` is the list of arguments to peruse to get the list of tasks.
# It should be the command line that was given to rake, less any
# recognised command-line options, which OptionParser.parse will
# have taken care of already.
def collect_command_line_tasks(args) # :nodoc:
@top_level_tasks = []
@argv.each do |arg|
args.each do |arg|
if arg =~ /^(\w+)=(.*)$/m
ENV[$1] = $2
else

View file

@ -159,6 +159,8 @@ module Rake
end
# Describes the next rake task. Duplicate descriptions are discarded.
# Descriptions are shown with <code>rake -T</code> (up to the first
# sentence) and <code>rake -D</code> (the entire description).
#
# Example:
# desc "Run the Unit Tests"

View file

@ -10,9 +10,9 @@ class TestRakeApplication < Rake::TestCase
end
def setup_command_line(*options)
@app.argv.clear
ARGV.clear
options.each do |option|
@app.argv << option
ARGV << option
end
end
@ -268,7 +268,7 @@ class TestRakeApplication < Rake::TestCase
end
def test_load_rakefile_not_found
@app.argv.clear
ARGV.clear
Dir.chdir @tempdir
ENV['RAKE_SYSTEM'] = 'not_exist'
@ -370,7 +370,7 @@ class TestRakeApplication < Rake::TestCase
# HACK no assertions
end
def test_handle_options_should_strip_options_from_argv
def test_handle_options_should_not_strip_options_from_argv
assert !@app.options.trace
valid_option = '--trace'
@ -378,7 +378,7 @@ class TestRakeApplication < Rake::TestCase
@app.handle_options
assert !@app.argv.include?(valid_option)
assert ARGV.include?(valid_option)
assert @app.options.trace
end
@ -406,14 +406,14 @@ class TestRakeApplication < Rake::TestCase
setup_command_line("--trace", "sometask")
@app.handle_options
assert @app.argv.include?("sometask")
assert ARGV.include?("sometask")
assert @app.options.trace
end
def test_good_run
ran = false
@app.argv << '--rakelib=""'
ARGV << '--rakelib=""'
@app.options.silent = true
@ -468,7 +468,7 @@ class TestRakeApplication < Rake::TestCase
}
assert_match(/see full trace/i, err)
ensure
@app.argv.clear
ARGV.clear
end
def test_bad_run_with_trace
@ -479,7 +479,7 @@ class TestRakeApplication < Rake::TestCase
}
refute_match(/see full trace/i, err)
ensure
@app.argv.clear
ARGV.clear
end
def test_bad_run_with_backtrace
@ -492,7 +492,7 @@ class TestRakeApplication < Rake::TestCase
}
refute_match(/see full trace/, err)
ensure
@app.argv.clear
ARGV.clear
end
CustomError = Class.new(RuntimeError)
@ -549,7 +549,7 @@ class TestRakeApplication < Rake::TestCase
end
assert_match(/Secondary Error/, err)
ensure
@app.argv.clear
ARGV.clear
end
def test_run_with_bad_options
@ -559,7 +559,7 @@ class TestRakeApplication < Rake::TestCase
capture_io { @app.run }
}
ensure
@app.argv.clear
ARGV.clear
end
def test_standard_exception_handling_invalid_option

View file

@ -457,8 +457,8 @@ class TestRakeApplicationOptions < Rake::TestCase
throw :system_exit, :exit
end
@app.instance_eval do
handle_options
collect_command_line_tasks
args = handle_options
collect_command_line_tasks(args)
end
@tasks = @app.top_level_tasks
@app.options

View file

@ -97,17 +97,22 @@ class TestRakeTestTask < Rake::TestCase
end
def test_run_code_rake_default_gem
skip 'this ruby does not have default gems' unless
Gem::Specification.method_defined? :default_specifications_dir
default_spec = Gem::Specification.new 'rake', 0
default_spec.loaded_from = File.join Gem::Specification.default_specifications_dir, 'rake-0.gemspec'
rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], default_spec
begin
rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], default_spec
test_task = Rake::TestTask.new do |t|
t.loader = :rake
test_task = Rake::TestTask.new do |t|
t.loader = :rake
end
assert_match(/\A(-I".*?" *)* ".*?"\Z/, test_task.run_code)
ensure
Gem.loaded_specs['rake'] = rake
end
assert_match(/\A(-I".*?" *)* ".*?"\Z/, test_task.run_code)
ensure
Gem.loaded_specs['rake'] = rake
end
def test_run_code_testrb_ruby_1_8_2