Class: FuzzBert::RakeTask

Inherits:
Rake::TaskLib
  • Object
show all
Includes:
Rake::DSL
Defined in:
lib/fuzzbert/rake_task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) {|_self| ... } ⇒ RakeTask

Returns a new instance of RakeTask.

Yields:

  • (_self)

Yield Parameters:



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fuzzbert/rake_task.rb', line 38

def initialize(*args)
  #configure the rake task
  setup_ivars(args)
  yield self if block_given?

  desc "Run FuzzBert random test suite" unless ::Rake.application.last_comment

  task name do
    run_task
  end
end

Instance Attribute Details

#fuzzbert_optsObject

Command line options to pass to fuzzbert.

default:

nil


36
37
38
# File 'lib/fuzzbert/rake_task.rb', line 36

def fuzzbert_opts
  @fuzzbert_opts
end

#fuzzbert_pathObject

Path to FuzzBert

default:

'fuzzbert'


30
31
32
# File 'lib/fuzzbert/rake_task.rb', line 30

def fuzzbert_path
  @fuzzbert_path
end

#nameObject

Name of task.

default:

:fuzz


12
13
14
# File 'lib/fuzzbert/rake_task.rb', line 12

def name
  @name
end

#patternObject

Glob pattern to match files.

default:

'fuzz/**/fuzz_*.rb'


18
19
20
# File 'lib/fuzzbert/rake_task.rb', line 18

def pattern
  @pattern
end

#ruby_optsObject

Command line options to pass to ruby.

default:

nil


24
25
26
# File 'lib/fuzzbert/rake_task.rb', line 24

def ruby_opts
  @ruby_opts
end

Instance Method Details

#run_taskObject



57
58
59
60
61
62
63
# File 'lib/fuzzbert/rake_task.rb', line 57

def run_task
  begin
    system(command)
  rescue
    #silent, user could have interrupted a permanent session
  end
end

#setup_ivars(*args) ⇒ Object



50
51
52
53
54
55
# File 'lib/fuzzbert/rake_task.rb', line 50

def setup_ivars(*args)
  @name = args.shift || :fuzz
  @ruby_opts, @fuzzbert_opts = nil, nil
  @fuzzbert_path = 'fuzzbert'
  @pattern = 'fuzz/**/fuzz_*.rb'
end