Class: MultiRubyUnitTestBuildAction

Inherits:
UnitTestBuildAction show all
Defined in:
lib/kwala/actions/multi_ruby_unit_test.rb

Overview

requires multiruby, part of ZenTest: www.zenspider.com/ZSS/Products/ZenTest/

Constant Summary collapse

MULTIRUBY =
'/usr/local/bin/multiruby'
SITE_RUBY =
'/usr/local/lib/ruby/site_ruby/1.8'

Constants inherited from UnitTestBuildAction

UnitTestBuildAction::RES_REGEXP, UnitTestBuildAction::RUBY

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from UnitTestBuildAction

#build_action, #detailed_display, #initialize, #score, #summary_display

Methods inherited from BuildAction

#build_action, command_line_action_name, command_line_action_names, create_action_from_command_line_name, #detailed_display, #score, #summary_display

Methods included from InheritanceTracker

#get_implementors

Constructor Details

This class inherits a constructor from UnitTestBuildAction

Class Method Details

.detailed_template_fileObject



13
14
15
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 13

def self.detailed_template_file
  superclass.detailed_template_file
end

.summary_template_fileObject



9
10
11
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 9

def self.summary_template_file
  superclass.summary_template_file
end

Instance Method Details

#old_time_out_readlinesObject



55
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 55

alias :old_time_out_readlines :time_out_readlines

#parse_test_results(data, file) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 34

def parse_test_results(data, file)
  version_reg = /([0-9\.]*)#{RES_REGEXP}/im
  version_array = data.split('VERSION = ').map{|s| s.match(version_reg)}.compact
  if version_array.empty?
    [no_match_result(data, file)]
  else
    version_array.map do |m|
      {
        :file_name => file,
        :version_name => m[1],
        :time => m[3],
        :tests => m[5],
        :assertions => m[6],
        :failures => template_error_num(m[7]),
        :errors => template_error_num(m[8]),
        :test_results => parse_out_test_info(m[4]).map {|i| {:test_info => i}}
      }
    end
  end
end

#ruby_command_line(pre_requires, file) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 26

def ruby_command_line(pre_requires, file)
  req_cmd = "-I#{SITE_RUBY} -I#{SITE_RUBY}/i686-linux/"
  if pre_requires
    req_cmd << " -r #{pre_requires}"
  end
  "#{MULTIRUBY} #{req_cmd} #{file}"
end

#ruby_versionObject

Protected



20
21
22
23
24
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 20

def ruby_version
  return @ruby_version if defined? @ruby_version
  version = `#{MULTIRUBY} -v`
  @ruby_version = version.scan(/VERSION = ([\.0-9]*)/).join(', ')
end

#time_out_readlines(io) ⇒ Object



57
58
59
60
# File 'lib/kwala/actions/multi_ruby_unit_test.rb', line 57

def time_out_readlines(io)
  # We give it a minute and a half now
  old_time_out_readlines(io, 90)
end