2016-10-19 12:32:48 -04:00
|
|
|
module Test
|
|
|
|
module Helper
|
|
|
|
module Env
|
2017-01-21 14:56:58 +00:00
|
|
|
def copy_env
|
|
|
|
ENV.to_hash
|
|
|
|
end
|
|
|
|
|
|
|
|
def restore_env(env)
|
|
|
|
ENV.replace(env)
|
|
|
|
end
|
|
|
|
|
2016-10-19 12:32:48 -04:00
|
|
|
def with_environment(partial_env)
|
2017-01-21 14:56:58 +00:00
|
|
|
old = copy_env
|
2016-10-19 12:32:48 -04:00
|
|
|
ENV.update partial_env
|
2017-01-21 14:56:58 +00:00
|
|
|
yield
|
|
|
|
ensure
|
|
|
|
restore_env old
|
|
|
|
end
|
|
|
|
|
|
|
|
def using_git_env
|
2017-01-22 11:10:06 +00:00
|
|
|
git_env = ["AUTHOR", "COMMITTER"].each_with_object({}) do |role, env|
|
|
|
|
env["GIT_#{role}_NAME"] = "brew tests"
|
|
|
|
env["GIT_#{role}_EMAIL"] = "brew-tests@localhost"
|
|
|
|
env["GIT_#{role}_DATE"] = "Thu May 21 00:04:11 2009 +0100"
|
|
|
|
end
|
|
|
|
|
|
|
|
with_environment(git_env) do
|
|
|
|
yield
|
2016-10-19 12:32:48 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|