class TFModTest::ModuleTest

Public Class Methods

new(module_name) click to toggle source
# File lib/tfmodtest/module_test.rb, line 7
def initialize(module_name)
  @module_name = module_name
end

Public Instance Methods

module_path() click to toggle source
# File lib/tfmodtest/module_test.rb, line 16
def module_path
  File.join('test', @module_name)
end
run_task(task_name) click to toggle source
# File lib/tfmodtest/module_test.rb, line 11
def run_task(task_name)
  puts("=== Running task #{task_name} for module #{@module_name} ===")
  run_task_in_directory(task_name, module_path)
end

Private Instance Methods

run_task_in_directory(task_name, dir) click to toggle source
# File lib/tfmodtest/module_test.rb, line 22
def run_task_in_directory(task_name, dir)
  Dir.chdir(dir) do
    load 'Rakefile'
    begin
      Rake::Task["#{@module_name}:#{task_name}"].invoke(DEFAULT_PREFIX)
    rescue RuntimeError => e
      puts e.message
      puts e.backtrace.join("\n")
      Rake::Task["#{@module_name}:clean"].invoke(DEFAULT_PREFIX)
      raise "Error testing module #{@module_name}"
    end
  end
end