mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rake: Update to rake 10.4.0
* test/rake: ditto. * NEWS: ditto. * test/lib/minitest/unit.rb: Add compatibility shim for minitest 5. This only provides minitest 5 unit test naming compatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f20f84d60a
commit
3908d5d330
18 changed files with 90 additions and 35 deletions
|
@ -1,3 +1,12 @@
|
|||
Tue Nov 25 15:59:46 2014 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* lib/rake: Update to rake 10.4.0
|
||||
* test/rake: ditto.
|
||||
* NEWS: ditto.
|
||||
|
||||
* test/lib/minitest/unit.rb: Add compatibility shim for minitest 5.
|
||||
This only provides minitest 5 unit test naming compatibility.
|
||||
|
||||
Tue Nov 25 15:26:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime
|
||||
|
|
5
NEWS
5
NEWS
|
@ -180,6 +180,11 @@ with all sufficient information, see the ChangeLog file.
|
|||
* New methods:
|
||||
* Pathname#birthtime
|
||||
|
||||
* Rake
|
||||
* Updated to Rake 10.4.0. For full release notes see:
|
||||
|
||||
http://docs.seattlerb.org/rake/History_rdoc.html#label-10.4.0
|
||||
|
||||
* RubyGems
|
||||
* Updated to RubyGems 2.4.2. For full release notes see:
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#++
|
||||
|
||||
module Rake
|
||||
VERSION = '10.3.2'
|
||||
VERSION = '10.4.0'
|
||||
end
|
||||
|
||||
require 'rake/version'
|
||||
|
@ -63,6 +63,7 @@ require 'rake/file_utils_ext'
|
|||
require 'rake/file_list'
|
||||
require 'rake/default_loader'
|
||||
require 'rake/early_time'
|
||||
require 'rake/late_time'
|
||||
require 'rake/name_space'
|
||||
require 'rake/task_manager'
|
||||
require 'rake/application'
|
||||
|
|
|
@ -20,6 +20,9 @@ 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
|
||||
|
||||
|
@ -45,6 +48,7 @@ module Rake
|
|||
# Initialize a Rake::Application object.
|
||||
def initialize
|
||||
super
|
||||
@argv = ARGV.dup
|
||||
@name = 'rake'
|
||||
@rakefiles = DEFAULT_RAKEFILES.dup
|
||||
@rakefile = nil
|
||||
|
@ -73,6 +77,8 @@ module Rake
|
|||
# call +top_level+ to run your top level tasks.
|
||||
def run
|
||||
standard_exception_handling do
|
||||
@argv = argv
|
||||
|
||||
init
|
||||
load_rakefile
|
||||
top_level
|
||||
|
@ -633,7 +639,7 @@ module Rake
|
|||
|
||||
standard_rake_options.each { |args| opts.on(*args) }
|
||||
opts.environment('RAKEOPT')
|
||||
end.parse!
|
||||
end.parse! @argv
|
||||
end
|
||||
|
||||
# Similar to the regular Ruby +require+ command, but will check
|
||||
|
@ -729,7 +735,7 @@ module Rake
|
|||
# Environmental assignments are processed at this time as well.
|
||||
def collect_command_line_tasks # :nodoc:
|
||||
@top_level_tasks = []
|
||||
ARGV.each do |arg|
|
||||
@argv.each do |arg|
|
||||
if arg =~ /^(\w+)=(.*)$/m
|
||||
ENV[$1] = $2
|
||||
else
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
#--
|
||||
# Extensions to time to allow comparisons with an early time class.
|
||||
# Extensions to time to allow comparisons with early and late time classes.
|
||||
|
||||
require 'rake/early_time'
|
||||
require 'rake/late_time'
|
||||
|
||||
class Time # :nodoc: all
|
||||
alias rake_original_time_compare :<=>
|
||||
def <=>(other)
|
||||
if Rake::EarlyTime === other
|
||||
if Rake::EarlyTime === other || Rake::LateTime === other
|
||||
- other.<=>(self)
|
||||
else
|
||||
rake_original_time_compare(other)
|
||||
|
|
|
@ -21,7 +21,7 @@ module Rake
|
|||
if File.exist?(name)
|
||||
File.mtime(name.to_s)
|
||||
else
|
||||
Rake::EARLY
|
||||
Rake::LATE
|
||||
end
|
||||
end
|
||||
|
||||
|
|
17
lib/rake/late_time.rb
Normal file
17
lib/rake/late_time.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
module Rake
|
||||
# LateTime is a fake timestamp that occurs _after_ any other time value.
|
||||
class LateTime
|
||||
include Comparable
|
||||
include Singleton
|
||||
|
||||
def <=>(other)
|
||||
1
|
||||
end
|
||||
|
||||
def to_s
|
||||
'<LATE TIME>'
|
||||
end
|
||||
end
|
||||
|
||||
LATE = LateTime.instance
|
||||
end
|
|
@ -143,10 +143,7 @@ module Rake
|
|||
end
|
||||
end
|
||||
|
||||
directory package_dir
|
||||
|
||||
file package_dir_path => @package_files do
|
||||
mkdir_p package_dir rescue nil
|
||||
directory package_dir_path => @package_files do
|
||||
@package_files.each do |fn|
|
||||
f = File.join(package_dir_path, fn)
|
||||
fdir = File.dirname(f)
|
||||
|
|
|
@ -111,7 +111,7 @@ module Rake
|
|||
if args.empty?
|
||||
task_name = key
|
||||
arg_names = []
|
||||
deps = value
|
||||
deps = value || []
|
||||
else
|
||||
task_name = args.shift
|
||||
arg_names = key
|
||||
|
|
|
@ -1412,6 +1412,8 @@ module MiniTest
|
|||
include MiniTest::Assertions
|
||||
end # class TestCase
|
||||
end # class Unit
|
||||
|
||||
Test = Unit::TestCase
|
||||
end # module MiniTest
|
||||
|
||||
Minitest = MiniTest # :nodoc: because ugh... I typo this all the time
|
||||
|
|
|
@ -2,7 +2,7 @@ require 'rubygems'
|
|||
$:.unshift File.expand_path('../../lib', __FILE__)
|
||||
|
||||
begin
|
||||
gem 'minitest', '~> 4'
|
||||
gem 'minitest', '~> 5'
|
||||
rescue Gem::LoadError
|
||||
end
|
||||
|
||||
|
@ -21,7 +21,7 @@ rescue NoMethodError, LoadError
|
|||
require 'test/support/rakefile_definitions'
|
||||
end
|
||||
|
||||
class Rake::TestCase < MiniTest::Unit::TestCase
|
||||
class Rake::TestCase < Minitest::Test
|
||||
include FileCreation
|
||||
|
||||
include Rake::DSL
|
||||
|
|
|
@ -460,7 +460,7 @@ end
|
|||
TEST_TASK
|
||||
open 'a_test.rb', 'w' do |io|
|
||||
io << "require 'minitest/autorun'\n"
|
||||
io << "class ExitTaskTest < MiniTest::Unit::TestCase\n"
|
||||
io << "class ExitTaskTest < Minitest::Test\n"
|
||||
io << " def test_exit\n"
|
||||
io << " assert false, 'this should fail'\n"
|
||||
io << " end\n"
|
||||
|
|
|
@ -10,9 +10,9 @@ class TestRakeApplication < Rake::TestCase
|
|||
end
|
||||
|
||||
def setup_command_line(*options)
|
||||
ARGV.clear
|
||||
@app.argv.clear
|
||||
options.each do |option|
|
||||
ARGV << option
|
||||
@app.argv << option
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -268,7 +268,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
end
|
||||
|
||||
def test_load_rakefile_not_found
|
||||
ARGV.clear
|
||||
@app.argv.clear
|
||||
Dir.chdir @tempdir
|
||||
ENV['RAKE_SYSTEM'] = 'not_exist'
|
||||
|
||||
|
@ -378,7 +378,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
|
||||
@app.handle_options
|
||||
|
||||
assert !ARGV.include?(valid_option)
|
||||
assert !@app.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 ARGV.include?("sometask")
|
||||
assert @app.argv.include?("sometask")
|
||||
assert @app.options.trace
|
||||
end
|
||||
|
||||
def test_good_run
|
||||
ran = false
|
||||
|
||||
ARGV << '--rakelib=""'
|
||||
@app.argv << '--rakelib=""'
|
||||
|
||||
@app.options.silent = true
|
||||
|
||||
|
@ -468,7 +468,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
}
|
||||
assert_match(/see full trace/i, err)
|
||||
ensure
|
||||
ARGV.clear
|
||||
@app.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
|
||||
ARGV.clear
|
||||
@app.argv.clear
|
||||
end
|
||||
|
||||
def test_bad_run_with_backtrace
|
||||
|
@ -492,7 +492,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
}
|
||||
refute_match(/see full trace/, err)
|
||||
ensure
|
||||
ARGV.clear
|
||||
@app.argv.clear
|
||||
end
|
||||
|
||||
CustomError = Class.new(RuntimeError)
|
||||
|
@ -549,7 +549,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
end
|
||||
assert_match(/Secondary Error/, err)
|
||||
ensure
|
||||
ARGV.clear
|
||||
@app.argv.clear
|
||||
end
|
||||
|
||||
def test_run_with_bad_options
|
||||
|
@ -559,7 +559,7 @@ class TestRakeApplication < Rake::TestCase
|
|||
capture_io { @app.run }
|
||||
}
|
||||
ensure
|
||||
ARGV.clear
|
||||
@app.argv.clear
|
||||
end
|
||||
|
||||
def test_standard_exception_handling_invalid_option
|
||||
|
|
|
@ -59,6 +59,11 @@ class TestRakeDefinitions < Rake::TestCase
|
|||
assert_raises(RuntimeError) { Task[:x].invoke }
|
||||
end
|
||||
|
||||
def test_falsey_dependencies
|
||||
task :x => nil
|
||||
assert_equal [], Task[:x].prerequisites
|
||||
end
|
||||
|
||||
def test_implicit_file_dependencies
|
||||
runs = []
|
||||
create_existing_file
|
||||
|
|
|
@ -24,6 +24,7 @@ class TestRakeFileTask < Rake::TestCase
|
|||
File.delete(ftask.name) rescue nil
|
||||
|
||||
assert ftask.needed?, "file should be needed"
|
||||
assert_equal Rake::LATE, ftask.timestamp
|
||||
|
||||
open(ftask.name, "w") { |f| f.puts "HI" }
|
||||
|
||||
|
@ -84,19 +85,14 @@ class TestRakeFileTask < Rake::TestCase
|
|||
end
|
||||
|
||||
def test_existing_file_depends_on_non_existing_file
|
||||
@ran = false
|
||||
|
||||
create_file(OLDFILE)
|
||||
delete_file(NEWFILE)
|
||||
file NEWFILE do
|
||||
@ran = true
|
||||
end
|
||||
|
||||
file OLDFILE => NEWFILE
|
||||
file NEWFILE do |t| @runs << t.name end
|
||||
file OLDFILE => NEWFILE do |t| @runs << t.name end
|
||||
|
||||
Task[OLDFILE].invoke
|
||||
|
||||
assert @ran
|
||||
assert_equal [NEWFILE, OLDFILE], @runs
|
||||
end
|
||||
|
||||
def test_needed_eh_build_all
|
||||
|
|
18
test/rake/test_rake_late_time.rb
Normal file
18
test/rake/test_rake_late_time.rb
Normal file
|
@ -0,0 +1,18 @@
|
|||
require File.expand_path('../helper', __FILE__)
|
||||
|
||||
class TestRakeLateTime < Rake::TestCase
|
||||
def test_late_time_comparisons
|
||||
late = Rake::LATE
|
||||
assert_equal late, late
|
||||
assert late >= Time.now
|
||||
assert late > Time.now
|
||||
assert late != Time.now
|
||||
assert Time.now < late
|
||||
assert Time.now <= late
|
||||
assert Time.now != late
|
||||
end
|
||||
|
||||
def test_to_s
|
||||
assert_equal '<LATE TIME>', Rake::LATE.to_s
|
||||
end
|
||||
end
|
|
@ -1,6 +1,5 @@
|
|||
require File.expand_path('../helper', __FILE__)
|
||||
require 'rake/thread_pool'
|
||||
require 'test/unit/assertions'
|
||||
|
||||
class TestRakeTestThreadPool < Rake::TestCase
|
||||
include Rake
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue