Add support for using an ARCONFIG environment variable to specify the location of the config.yml file for running the tests

This commit is contained in:
Jon Leighton 2011-06-12 19:08:16 +01:00
parent 15e289147e
commit 86bbba1ffb
2 changed files with 12 additions and 4 deletions

View File

@ -32,3 +32,8 @@ By default the tests run with the Identity Map turned off. But all tests should
not the identity map is on or off. You can turn it on using the IM env variable:
$ IM=true ruby -Itest test/case/base_test.rb
== Config file
By default, the config file is expected to be at the path test/config.yml. You can specify a
custom location with the ARCONFIG environment variable.

View File

@ -10,13 +10,16 @@ module ARTest
private
def config_file
Pathname.new(ENV['ARCONFIG'] || TEST_ROOT + '/config.yml')
end
def read_config
unless File.exist?(TEST_ROOT + '/config.yml')
FileUtils.cp TEST_ROOT + '/config.example.yml', TEST_ROOT + '/config.yml'
unless config_file.exist?
FileUtils.cp TEST_ROOT + '/config.example.yml', config_file
end
raw = File.read(TEST_ROOT + '/config.yml')
erb = Erubis::Eruby.new(raw)
erb = Erubis::Eruby.new(config_file.read)
expand_config(YAML.parse(erb.result(binding)).transform)
end