class TestBench::Telemetry

Constants

Record

Attributes

failed[RW]
nesting[W]
sink[W]

Public Class Methods

build() click to toggle source
# File lib/test_bench/telemetry.rb, line 9
def self.build
  instance = new

  if Settings.toplevel.record_telemetry
    instance.sink = []
  end

  instance
end
subscribe(subscriber) click to toggle source
# File lib/test_bench/telemetry.rb, line 113
def self.subscribe subscriber
  toplevel_telemetry = Registry.get TOPLEVEL_BINDING
  toplevel_telemetry.subscribe subscriber
end

Public Instance Methods

asserted() click to toggle source
# File lib/test_bench/telemetry.rb, line 19
def asserted
  publish :asserted
end
commented(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 23
def commented prose
  publish :commented, prose
end
context_entered(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 27
def context_entered prose
  publish :context_entered, prose

  self.nesting += 1
end
context_exited(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 33
def context_exited prose
  publish :context_exited, prose

  self.nesting -= 1

  nesting
end
error_raised(error) click to toggle source
# File lib/test_bench/telemetry.rb, line 41
def error_raised error
  self.failed = true

  publish :error_raised, error
end
failed?() click to toggle source
# File lib/test_bench/telemetry.rb, line 47
def failed?
  if failed then true else false end
end
file_finished(file) click to toggle source
# File lib/test_bench/telemetry.rb, line 51
def file_finished file
  publish :file_finished, file
end
file_started(file) click to toggle source
# File lib/test_bench/telemetry.rb, line 55
def file_started file
  publish :file_started, file
end
nesting() click to toggle source
# File lib/test_bench/telemetry.rb, line 59
def nesting
  @nesting ||= 0
end
passed?() click to toggle source
# File lib/test_bench/telemetry.rb, line 63
def passed?
  not failed?
end
publish(event, *arguments) click to toggle source
# File lib/test_bench/telemetry.rb, line 67
def publish event, *arguments
  changed
  notify_observers event, *arguments

  record = Record.new event, *arguments
  sink << record
end
run_finished() click to toggle source
# File lib/test_bench/telemetry.rb, line 79
def run_finished
  publish :run_finished
end
run_started() click to toggle source
# File lib/test_bench/telemetry.rb, line 75
def run_started
  publish :run_started
end
sink() click to toggle source
# File lib/test_bench/telemetry.rb, line 83
def sink
  @sink ||= NullSink
end
subscribe(subscriber) click to toggle source
# File lib/test_bench/telemetry.rb, line 87
def subscribe subscriber
  subscription = Subscription.new subscriber
  add_observer subscription
  subscription
end
test_failed(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 93
def test_failed prose
  publish :test_failed, prose
end
test_finished(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 97
def test_finished prose
  publish :test_finished, prose
end
test_passed(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 101
def test_passed prose
  publish :test_passed, prose
end
test_skipped(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 105
def test_skipped prose
  publish :test_skipped, prose
end
test_started(prose) click to toggle source
# File lib/test_bench/telemetry.rb, line 109
def test_started prose
  publish :test_started, prose
end