def setup_puppet
vardir = Dir.mktmpdir
Puppet[:vardir] = vardir
if Puppet.version.to_f >= 4.0
settings = [
[:modulepath, :module_path],
[:environmentpath, :environmentpath],
[:config, :config],
[:confdir, :confdir],
[:hiera_config, :hiera_config],
[:strict_variables, :strict_variables],
]
elsif Puppet.version.to_f >= 3.0
settings = [
[:modulepath, :module_path],
[:manifestdir, :manifest_dir],
[:manifest, :manifest],
[:templatedir, :template_dir],
[:config, :config],
[:confdir, :confdir],
[:hiera_config, :hiera_config],
[:parser, :parser],
[:trusted_node_data, :trusted_node_data],
[:ordering, :ordering],
[:stringify_facts, :stringify_facts],
[:strict_variables, :strict_variables],
]
else
settings = [
[:modulepath, :module_path],
[:manifestdir, :manifest_dir],
[:manifest, :manifest],
[:templatedir, :template_dir],
[:config, :config],
[:confdir, :confdir],
]
end
settings.each do |a,b|
value = self.respond_to?(b) ? self.send(b) : RSpec.configuration.send(b)
begin
Puppet[a] = value
rescue ArgumentError
Puppet.settings.setdefaults(:main, {a => {:default => value, :desc => a.to_s}})
end
end
Dir["#{Puppet[:modulepath]}/*/lib"].entries.each do |lib|
$LOAD_PATH << lib
end
vardir
end