1 |
# taken from facter source code |
2 |
# ASL 2.0 |
3 |
dir = File.expand_path(File.dirname(__FILE__)) |
4 |
|
5 |
SPECDIR = dir |
6 |
$LOAD_PATH.unshift("#{dir}/../lib") |
7 |
|
8 |
require 'mocha' |
9 |
require 'rspec' |
10 |
require 'facter' |
11 |
require 'fileutils' |
12 |
|
13 |
RSpec.configure do |config| |
14 |
config.mock_with :mocha |
15 |
|
16 |
config.before :each do |
17 |
# Ensure that we don't accidentally cache facts and environment |
18 |
# between test cases. |
19 |
Facter::Util::Loader.any_instance.stubs(:load_all) |
20 |
Facter.clear |
21 |
Facter.clear_messages |
22 |
|
23 |
# Store any environment variables away to be restored later |
24 |
@old_env = {} |
25 |
ENV.each_key {|k| @old_env[k] = ENV[k]} |
26 |
end |
27 |
|
28 |
config.after :each do |
29 |
# Restore environment variables after execution of each test |
30 |
@old_env.each_pair {|k, v| ENV[k] = v} |
31 |
to_remove = ENV.keys.reject {|key| @old_env.include? key } |
32 |
to_remove.each {|key| ENV.delete key } |
33 |
end |
34 |
end |
35 |
|