* test/ruby/envutil.rb (assert_regexp_list): New assertion method.
* test/ruby/test_rubyoptions.rb: Use assert_regexp_list. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7643c2b37d
commit
2386407223
@ -1,3 +1,9 @@
|
|||||||
|
Wed Oct 15 12:26:58 2014 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* test/ruby/envutil.rb (assert_regexp_list): New assertion method.
|
||||||
|
|
||||||
|
* test/ruby/test_rubyoptions.rb: Use assert_regexp_list.
|
||||||
|
|
||||||
Wed Oct 15 07:21:09 2014 Tanaka Akira <akr@fsij.org>
|
Wed Oct 15 07:21:09 2014 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* enum.c: min(n) drops elements bigger than the n-th maximum element.
|
* enum.c: min(n) drops elements bigger than the n-th maximum element.
|
||||||
|
@ -477,6 +477,36 @@ eom
|
|||||||
AssertFile
|
AssertFile
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# pattern_list is an array which contains regexp and :*.
|
||||||
|
# :* means any sequence.
|
||||||
|
#
|
||||||
|
# pattern_list is anchored.
|
||||||
|
# Use [:*, regexp, :*] for non-anchored match.
|
||||||
|
def assert_regexp_list(pattern_list, actual, message=nil)
|
||||||
|
rest = actual
|
||||||
|
anchored = true
|
||||||
|
pattern_list.each {|pattern|
|
||||||
|
if pattern == :*
|
||||||
|
anchored = false
|
||||||
|
else
|
||||||
|
if anchored
|
||||||
|
match = /\A#{pattern}/.match(rest)
|
||||||
|
else
|
||||||
|
match = pattern.match(rest)
|
||||||
|
end
|
||||||
|
unless match
|
||||||
|
msg = message(msg) { "Expected #{mu_pp pattern}\nto match #{mu_pp rest}" }
|
||||||
|
assert false, msg
|
||||||
|
end
|
||||||
|
rest = match.post_match
|
||||||
|
anchored = true
|
||||||
|
end
|
||||||
|
}
|
||||||
|
if anchored
|
||||||
|
assert_equal("", rest)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class << (AssertFile = Struct.new(:failure_message).new)
|
class << (AssertFile = Struct.new(:failure_message).new)
|
||||||
include Assertions
|
include Assertions
|
||||||
def assert_file_predicate(predicate, *args)
|
def assert_file_predicate(predicate, *args)
|
||||||
|
@ -536,7 +536,9 @@ class TestRubyOptions < Test::Unit::TestCase
|
|||||||
--\sC\slevel\sbacktrace\sinformation\s-------------------------------------------\n
|
--\sC\slevel\sbacktrace\sinformation\s-------------------------------------------\n
|
||||||
(?:(?:.*\s)?\[0x\h+\]\n)*\n
|
(?:(?:.*\s)?\[0x\h+\]\n)*\n
|
||||||
)?
|
)?
|
||||||
(?m:.*)
|
)x,
|
||||||
|
:*,
|
||||||
|
%r(
|
||||||
\[NOTE\]\n
|
\[NOTE\]\n
|
||||||
You\smay\shave\sencountered\sa\sbug\sin\sthe\sRuby\sinterpreter\sor\sextension\slibraries.\n
|
You\smay\shave\sencountered\sa\sbug\sin\sthe\sRuby\sinterpreter\sor\sextension\slibraries.\n
|
||||||
Bug\sreports\sare\swelcome.\n
|
Bug\sreports\sare\swelcome.\n
|
||||||
@ -559,15 +561,7 @@ class TestRubyOptions < Test::Unit::TestCase
|
|||||||
EnvUtil.diagnostic_reports(Signal.signame(signo), EnvUtil.rubybin, status.pid, Time.now)
|
EnvUtil.diagnostic_reports(Signal.signame(signo), EnvUtil.rubybin, status.pid, Time.now)
|
||||||
end
|
end
|
||||||
|
|
||||||
str = stderr
|
assert_regexp_list(SEGVTest::ExpectedStderrList, stderr, message)
|
||||||
SEGVTest::ExpectedStderrList.each {|regexp|
|
|
||||||
r = /\A#{regexp}/
|
|
||||||
unless r =~ str
|
|
||||||
assert_match(r, str, message)
|
|
||||||
end
|
|
||||||
str = $'
|
|
||||||
}
|
|
||||||
assert_equal('', str)
|
|
||||||
|
|
||||||
status
|
status
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user