Sha256: b80aff68c48e249131ab6630b5be244f31d7a1144fa2491cc3c84b7503c5111a

Contents?: true

Size: 1.74 KB

Versions: 7

Compression:

Stored size: 1.74 KB

Contents

# encoding: UTF-8

require "aruba/api"
require "aruba/reporting"

require "tetra"

# configure aruba for rspec use
RSpec.configure do |config|
  config.include Aruba::Api

  # use tetra executable from the bin path, not the system-installed one
  config.before(:suite) do
    ENV["PATH"] = "#{File.join(File.dirname(__FILE__), '..', 'bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
  end

  # set up aruba API
  config.before(:each) do
    restore_env
    clean_current_dir
  end
end

module Tetra
  # custom mock methods
  module Mockers
    # creates a minimal tetra project
    def create_mock_project
      @project_path = File.join("spec", "data", "test-project")
      Tetra::Project.init(@project_path, false)
      @project = Tetra::Project.new(@project_path)
    end

    # deletes the mock project and all contents
    def delete_mock_project
      FileUtils.rm_rf(@project_path)
    end

    # creates an executable in kit that will print its parameters
    # in a test_out file for checking. Returns mocked executable
    # full path
    def create_mock_executable(executable_name)
      Dir.chdir(@project_path) do
        dir = mock_executable_dir(executable_name)
        FileUtils.mkdir_p(dir)
        executable_path = mock_executable_path(executable_name)
        File.open(executable_path, "w") { |io| io.puts "echo $0 $*>test_out" }
        File.chmod(0777, executable_path)
        executable_path
      end
    end

    # returns the path for a mocked executable's directory
    def mock_executable_dir(executable_name)
      File.join("kit", executable_name, "bin")
    end

    # returns the path for a mocked executable
    def mock_executable_path(executable_name)
      File.join(mock_executable_dir(executable_name), executable_name)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
tetra-2.0.6 spec/spec_helper.rb
tetra-2.0.5 spec/spec_helper.rb
tetra-2.0.4 spec/spec_helper.rb
tetra-2.0.3 spec/spec_helper.rb
tetra-2.0.2 spec/spec_helper.rb
tetra-2.0.1 spec/spec_helper.rb
tetra-2.0.0 spec/spec_helper.rb