Module: FaultInjection
- Defined in:
- lib/fault_injection/parser.rb,
lib/fault_injection.rb,
lib/fault_injection/version.rb,
lib/fault_injection/fault_condition.rb
Overview
:nodoc:
Defined Under Namespace
Modules: VERSION Classes: FaultConditionBase, FaultConditionCall, FaultConditionLine, Parser
Constant Summary collapse
- @@injected_faults =
nil
- @@method_stack =
Array.new
Class Method Summary collapse
-
.clear ⇒ Object
delete all injected faults.
- .inject(command, error_class = RuntimeError, msg = "injected fault") ⇒ Object
Instance Method Summary collapse
-
#clear ⇒ Object
Same as FaultInjection::clear.
- #inject(*args) ⇒ Object
Class Method Details
.clear ⇒ Object
delete all injected faults.
49 50 51 52 |
# File 'lib/fault_injection.rb', line 49 def self.clear @@injected_faults = nil set_trace_func Proc.new{} end |
.inject(command, error_class = RuntimeError, msg = "injected fault") ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/fault_injection.rb', line 14 def self.inject(command,error_class=RuntimeError,msg="injected fault") unless error_class <= Exception raise ArgumentError, "Error class must be a subclass of Exception" end cond = nil if String === command cond = Parser.compile(command) cond.error_class = error_class cond. = msg elsif Hash === command and command.key?(:line) and command.key?(:file) cond = inject_fault_on_line(command[:file], command[:line], error_class,msg) elsif Array === command cond = inject_fault_on_trace(command,error_class,msg) else raise "Unknown Command" end if @@injected_faults.nil? @@injected_faults = Array.new set_trace_func method(:fault).to_proc end raise "[BUG] Internal Error. Please report this to the author :)" if cond.nil? @@injected_faults << cond true end |
Instance Method Details
#clear ⇒ Object
Same as FaultInjection::clear
55 56 57 |
# File 'lib/fault_injection.rb', line 55 def clear FaultInjection.clear end |
#inject(*args) ⇒ Object
10 11 12 |
# File 'lib/fault_injection.rb', line 10 def inject(*args) FaultInjection.inject *args end |