Module: RSMP::Validator::Helpers::Startup

Includes:
Status
Defined in:
lib/rsmp/validator/helpers/startup.rb

Overview

Helper methods for testing RSMP site startup sequences.

Defined Under Namespace

Classes: SignalGroupSequence

Instance Method Summary collapse

Methods included from Status

#wait_for_status

Instance Method Details

#verify_startup_sequence(site_proxy) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/rsmp/validator/helpers/startup.rb', line 89

def verify_startup_sequence(site_proxy)
  status_list = [{ 'sCI' => 'S0001', 'n' => 'signalgroupstatus' }]
  subscribe_list, unsubscribe_list = build_subscribe_lists(site_proxy, status_list)
  component = RSMP::Validator.get_config('main_component')
  timeout = RSMP::Validator.get_config('timeouts', 'startup_sequence')
  collector = RSMP::StatusCollector.new site_proxy, status_list, timeout: timeout
  sequencer = SignalGroupSequence.new RSMP::Validator.get_config('startup_sequence')
  collector_task = start_sequence_collector(collector, sequencer)
  site_proxy.subscribe_to_status subscribe_list, component: component
  yield
  handle_startup_sequence_result(collector_task.wait, sequencer, collector, timeout)
  wait_for_status(site_proxy, 'control mode to be startup',
                  [{ 'sCI' => 'S0020', 'n' => 'controlmode', 's' => 'control' }])
ensure
  site_proxy.unsubscribe_to_status unsubscribe_list, component: component
end

#wait_normal_control(site_proxy, timeout: RSMP::Validator.get_config('timeouts', 'startup_sequence')) ⇒ Object



85
86
87
# File 'lib/rsmp/validator/helpers/startup.rb', line 85

def wait_normal_control(site_proxy, timeout: RSMP::Validator.get_config('timeouts', 'startup_sequence'))
  site_proxy.tlc.wait_for_normal_control(timeout: timeout)
end