Sha256: 0885b7456d3845c2e9082c3e59cfab7687bf0ee86fdbad17795ee6fb95dece7f

Contents?: true

Size: 1.19 KB

Versions: 12

Compression:

Stored size: 1.19 KB

Contents

require 'rake'
require 'cucumber/rake/task'
 
module Henry
  
  class Task
    
    # The Henry Task implementation for Cucumber
    class CucumberTask < Task
 
      # Makes available the cucumber rake task.
      Cucumber::Rake::Task.new do |t|
        t.cucumber_opts = %w{--out cucumber.out}
        t.fork = false
      end
      
      # Executes the CucumberTask and returns its results.
      #
      # @return [Hash] the CucumberTask results.
      def execute(params)
        begin
          File.open('cucumber.out', 'w') { |f| }

          #tail_pid = Process.spawn('tail -f cucumber.out')

          Rake.application['cucumber'].invoke 
 
          #Process.kill(:SIGINT, tail_pid)

          {
            name: self.name,
            code: 'OK',
            message: 'OK',
            returnedData: {
              output: File.open('cucumber.out', 'r').read
            }
          }
        rescue Exception => e
          {
            name: self.name,
            code: 'ERROR',
            message: 'ERROR',
            returnedData: {
              output: File.open('cucumber.out', 'r').read,
              backtrace: e.message
            }
          }
        end
      end

    end

  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
henry-container-0.0.28 lib/henry/task/cucumber_task.rb
henry-container-0.0.27 lib/henry/task/cucumber_task.rb
henry-container-0.0.26 lib/henry/task/cucumber_task.rb
henry-container-0.0.25 lib/henry/task/cucumber_task.rb
henry-container-0.0.24 lib/henry/task/cucumber_task.rb
henry-container-0.0.23 lib/henry/task/cucumber_task.rb
henry-container-0.0.22 lib/henry/task/cucumber_task.rb
henry-container-0.0.20 lib/henry/task/cucumber_task.rb
henry-container-0.0.19 lib/henry/task/cucumber_task.rb
henry-container-0.0.18 lib/henry/task/cucumber_task.rb
henry-container-0.0.17 lib/henry/task/cucumber_task.rb
henry-container-0.0.16 lib/henry/task/cucumber_task.rb