diff options
Diffstat (limited to 'spec/support')
| -rw-r--r-- | spec/support/fixture_file_helper.rb | 9 | ||||
| -rw-r--r-- | spec/support/integration_test_helper.rb | 17 |
2 files changed, 21 insertions, 5 deletions
diff --git a/spec/support/fixture_file_helper.rb b/spec/support/fixture_file_helper.rb index fe11acd..5a9599f 100644 --- a/spec/support/fixture_file_helper.rb +++ b/spec/support/fixture_file_helper.rb @@ -1,6 +1,11 @@ module FixtureFileHelper - def fixture_file_content(path) - IO.read(fixture_file(path)) + def fixture_file_content(path, data = {}) + content = IO.read(fixture_file(path)) + return content unless path.end_with?('.erb') + + ERB + .new(content) + .result(OpenStruct.new(data).send(:binding)) end def fixture_file(path) diff --git a/spec/support/integration_test_helper.rb b/spec/support/integration_test_helper.rb index bcc5c1f..6c30a99 100644 --- a/spec/support/integration_test_helper.rb +++ b/spec/support/integration_test_helper.rb @@ -56,9 +56,13 @@ module IntegrationTestHelper end def clone(repo, branch: 'master') - execute({}, "git", "clone", '--quiet', repo, project_path) - Dir.chdir project_path do - execute({}, "git", "checkout", branch) + if branch.match?(/\b[0-9a-f]{5,40}\b/) + execute({}, 'git', 'clone', '--quiet', repo, project_path) + Dir.chdir project_path do + execute({}, 'git', 'checkout', branch) + end + else + execute({}, 'git', 'clone', '--quiet', '--depth=1', '--single-branch', '--branch', branch, repo, project_path) end end @@ -85,4 +89,11 @@ module IntegrationTestHelper def runner(*args) @runner ||= IntegrationTestRunner.new(*args) end + + def add_host(name, ip) + return unless ENV['LM_HOME'] + return if system("grep #{name} /etc/hosts") + + system("echo '#{ip} #{name}' >> /etc/hosts") + end end |
