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

test/readline/test_readline.rb: fix readline test

for mingw.

test/lib/minitest/unit.rb: Add 'guards' for mingw.
Removed still-unused method `mswin?` from original patch.

[Fix GH-1941]

From: MSP-Greg <MSP-Greg@users.noreply.github.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
k0kubun 2018-08-23 23:50:48 +00:00
parent 7bde63fad6
commit 6264225c7e
2 changed files with 15 additions and 7 deletions

View file

@ -1171,6 +1171,14 @@ module MiniTest
def windows? platform = RUBY_PLATFORM
/mswin|mingw/ =~ platform
end
##
# Is this running on mingw?
def mingw? platform = RUBY_PLATFORM
/mingw/ =~ platform
end
end
##

View file

@ -13,17 +13,11 @@ class TestReadline < Test::Unit::TestCase
SAVED_ENV = %w[COLUMNS LINES]
def setup
if ENV.key?('APPVEYOR') && /mingw/ =~ RUBY_PLATFORM
skip 'failing on AppVeyor MinGW build for now'
end
@saved_env = ENV.values_at(*SAVED_ENV)
@inputrc, ENV[INPUTRC] = ENV[INPUTRC], IO::NULL
end
def teardown
if ENV.key?('APPVEYOR') && /mingw/ =~ RUBY_PLATFORM
return
end
ENV[INPUTRC] = @inputrc
Readline.instance_variable_set("@completion_proc", nil)
begin
@ -418,6 +412,7 @@ class TestReadline < Test::Unit::TestCase
end if !/EditLine|\A4\.3\z/n.match(Readline::VERSION)
def test_input_metachar
skip("Won't pass on mingw w/readline 7.0.005 [ruby-core:45682]") if mingw?
bug6601 = '[ruby-core:45682]'
Readline::HISTORY << "hello"
wo = nil
@ -427,7 +422,7 @@ class TestReadline < Test::Unit::TestCase
end
assert_equal("hello", line, bug6601)
ensure
wo.close
wo&.close
Readline.delete_text
Readline::HISTORY.clear
end if !/EditLine/n.match(Readline::VERSION)
@ -589,6 +584,11 @@ class TestReadline < Test::Unit::TestCase
Tempfile.create("test_readline_stdin") {|stdin|
Tempfile.create("test_readline_stdout") {|stdout|
yield stdin, stdout
if windows?
# needed since readline holds refs to tempfiles, can't delete on Windows
Readline.input = STDIN
Readline.output = STDOUT
end
}
}
end