Remove proc handling from BuildEnvironment
This commit is contained in:
parent
d4602b1711
commit
7ee49db51e
@ -1,8 +1,6 @@
|
|||||||
require 'set'
|
require 'set'
|
||||||
|
|
||||||
class BuildEnvironment
|
class BuildEnvironment
|
||||||
attr_accessor :proc
|
|
||||||
|
|
||||||
def initialize(*settings)
|
def initialize(*settings)
|
||||||
@settings = Set.new(*settings)
|
@settings = Set.new(*settings)
|
||||||
end
|
end
|
||||||
@ -24,36 +22,11 @@ class BuildEnvironment
|
|||||||
def userpaths?
|
def userpaths?
|
||||||
@settings.include? :userpaths
|
@settings.include? :userpaths
|
||||||
end
|
end
|
||||||
|
|
||||||
def modify_build_environment(receiver)
|
|
||||||
receiver.instance_eval(&proc) if self.proc
|
|
||||||
end
|
|
||||||
|
|
||||||
def marshal_dump
|
|
||||||
@settings
|
|
||||||
end
|
|
||||||
|
|
||||||
def marshal_load(data)
|
|
||||||
@settings = data
|
|
||||||
end
|
|
||||||
|
|
||||||
def _dump(*)
|
|
||||||
Marshal.dump(marshal_dump)
|
|
||||||
end
|
|
||||||
|
|
||||||
def self._load(s)
|
|
||||||
new(Marshal.load(s))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
module BuildEnvironmentDSL
|
module BuildEnvironmentDSL
|
||||||
def env(*settings, &block)
|
def env(*settings)
|
||||||
@env ||= BuildEnvironment.new
|
@env ||= BuildEnvironment.new
|
||||||
if block_given?
|
|
||||||
@env.proc = block
|
|
||||||
else
|
|
||||||
@env.merge(settings)
|
@env.merge(settings)
|
||||||
end
|
end
|
||||||
@env
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -23,31 +23,6 @@ class BuildEnvironmentTests < Homebrew::TestCase
|
|||||||
@env << :userpaths
|
@env << :userpaths
|
||||||
assert_predicate @env, :userpaths?
|
assert_predicate @env, :userpaths?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_modify_build_environment
|
|
||||||
@env.proc = Proc.new { raise StandardError }
|
|
||||||
assert_raises(StandardError) do
|
|
||||||
@env.modify_build_environment(self)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_marshal
|
|
||||||
@env << :userpaths
|
|
||||||
@env.proc = Proc.new {}
|
|
||||||
assert_predicate Marshal.load(Marshal.dump(@env)), :userpaths?
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_env_block
|
|
||||||
error = Class.new(StandardError)
|
|
||||||
@env.proc = Proc.new { raise error }
|
|
||||||
assert_raises(error) { @env.modify_build_environment(self) }
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_env_block_with_argument
|
|
||||||
error = Class.new(StandardError)
|
|
||||||
@env.proc = Proc.new { |x| raise x }
|
|
||||||
assert_raises(error) { @env.modify_build_environment(error) }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class BuildEnvironmentDSLTests < Homebrew::TestCase
|
class BuildEnvironmentDSLTests < Homebrew::TestCase
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user