module Autobuild::SelfTest
This module is the common setup for all tests
It should be included in the toplevel describe blocks
@example
require 'autobuild/test' describe Autobuild do end
Attributes
tempdir[R]
Public Instance Methods
build_config(bind, template)
click to toggle source
# File lib/autobuild/test.rb, line 78 def build_config(bind, template) bind.local_variable_set(:basedir, tempdir.to_s) ryml = File.open(File.join(data_dir, "#{template}.ryml"), &:readlines) .join('') result = ERB.new(ryml).result(bind) yml = File.join(tempdir, "#{template}.yml") File.open(yml, 'w+') { |f| f.write(result) } yml end
data_dir()
click to toggle source
# File lib/autobuild/test.rb, line 72 def data_dir File.join(File.dirname(__FILE__), '..', '..', 'test', 'data') end
make_tmpdir()
click to toggle source
# File lib/autobuild/test.rb, line 67 def make_tmpdir @temp_dirs << (dir = Dir.mktmpdir) dir end
prepare_and_build_package(package)
click to toggle source
# File lib/autobuild/test.rb, line 100 def prepare_and_build_package(package) package.prepare Rake::Task["#{package.name}-build"].invoke end
setup()
click to toggle source
# File lib/autobuild/test.rb, line 43 def setup @temp_dirs = Array.new @tempdir = make_tmpdir FileUtils.mkdir_p(@tempdir, mode: 0o700) Autobuild.logdir = "#{tempdir}/log" FileUtils.mkdir_p Autobuild.logdir Autobuild.silent = true # Setup code for all the tests end
teardown()
click to toggle source
Calls superclass method
# File lib/autobuild/test.rb, line 54 def teardown Autobuild.silent = false super Autobuild::Package.clear Rake::Task.clear Autobuild.reset_gnumake_detection @temp_dirs.each do |dir| FileUtils.rm_rf dir end end
untar(file)
click to toggle source
# File lib/autobuild/test.rb, line 90 def untar(file) file = File.expand_path(file, data_dir) dir = tempdir Dir.chdir(dir) do system("tar xf #{file}") end dir end