зеркало из https://github.com/github/ruby.git
[rubygems/rubygems] Fix assert_contains_make_command on make defined by environment variable.
The `parse_make_command_line` in `assert_contains_make_command` fails to get the make targets correctly, when the make command is set with make options by environment variable such as `export make='make -j2'` at lib/rubygems/ext/builder.rb::make. So, we include the make options (eg, -XX) as a part of the command to fix the case. Note that this commit still doesn't fix the case of `export make='make -j 2'`. https://github.com/rubygems/rubygems/commit/7730ef3fa0
This commit is contained in:
Родитель
ec6352c108
Коммит
d713b602ea
|
@ -246,7 +246,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def parse_make_command_line(line)
|
||||
command, *args = line.shellsplit
|
||||
args = line.sub(/^#{Regexp.escape make_command}/, "").shellsplit
|
||||
|
||||
targets = []
|
||||
macros = {}
|
||||
|
@ -263,7 +263,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|||
targets << '' if targets.empty?
|
||||
|
||||
{
|
||||
:command => command,
|
||||
:command => make_command,
|
||||
:targets => targets,
|
||||
:macros => macros,
|
||||
}
|
||||
|
|
|
@ -66,8 +66,11 @@ class TestGemExtExtConfBuilder < Gem::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_class_build_env_make
|
||||
env_make = ENV.delete 'MAKE'
|
||||
def test_class_build_env_MAKE
|
||||
env_make = ENV.delete 'make'
|
||||
ENV['make'] = nil
|
||||
|
||||
env_MAKE = ENV.delete 'MAKE'
|
||||
ENV['MAKE'] = 'anothermake'
|
||||
|
||||
if java_platform?
|
||||
|
@ -89,7 +92,8 @@ class TestGemExtExtConfBuilder < Gem::TestCase
|
|||
assert_contains_make_command 'clean', output[4]
|
||||
end
|
||||
ensure
|
||||
ENV['MAKE'] = env_make
|
||||
ENV['MAKE'] = env_MAKE
|
||||
ENV['make'] = env_make
|
||||
end
|
||||
|
||||
def test_class_build_extconf_fail
|
||||
|
|
Загрузка…
Ссылка в новой задаче