mirror of https://github.com/ARMmbed/mbed-os.git
Tests: Watchdog: Update the reset-to-sync delay
Change the config parameter used as a delay before sending the sync packet after the device reset in watchdog and reset_reason tests. Use 'forced_reset_timeout' instead of 'program_cycle_s'.pull/10657/head
parent
a37d03d640
commit
337b394048
|
|
@ -18,7 +18,7 @@ import time
|
|||
from mbed_host_tests import BaseHostTest
|
||||
from mbed_host_tests.host_tests_runner.host_test_default import DefaultTestSelector
|
||||
|
||||
DEFAULT_CYCLE_PERIOD = 4.0
|
||||
DEFAULT_SYNC_DELAY = 4.0
|
||||
|
||||
MSG_VALUE_WATCHDOG_PRESENT = 'wdg_present'
|
||||
MSG_VALUE_DUMMY = '0'
|
||||
|
|
@ -68,14 +68,14 @@ class ResetReasonTest(BaseHostTest):
|
|||
super(ResetReasonTest, self).__init__()
|
||||
self.device_has_watchdog = None
|
||||
self.raw_reset_reasons = set()
|
||||
self.program_cycle_s = DEFAULT_CYCLE_PERIOD
|
||||
self.sync_delay = DEFAULT_SYNC_DELAY
|
||||
self.test_steps_sequence = self.test_steps()
|
||||
# Advance the coroutine to it's first yield statement.
|
||||
self.test_steps_sequence.send(None)
|
||||
|
||||
def setup(self):
|
||||
cycle_s = self.get_config_item('program_cycle_s')
|
||||
self.program_cycle_s = cycle_s if cycle_s is not None else DEFAULT_CYCLE_PERIOD
|
||||
sync_delay = self.get_config_item('forced_reset_timeout')
|
||||
self.sync_delay = sync_delay if sync_delay is not None else DEFAULT_SYNC_DELAY
|
||||
self.register_callback(MSG_KEY_DEVICE_READY, self.cb_device_ready)
|
||||
self.register_callback(MSG_KEY_RESET_REASON_RAW, self.cb_reset_reason_raw)
|
||||
self.register_callback(MSG_KEY_RESET_REASON, self.cb_reset_reason)
|
||||
|
|
@ -134,7 +134,7 @@ class ResetReasonTest(BaseHostTest):
|
|||
# Request a NVIC_SystemReset() call.
|
||||
self.send_kv(MSG_KEY_DEVICE_RESET, MSG_VALUE_DEVICE_RESET_NVIC)
|
||||
__ignored_reset_ack = yield
|
||||
time.sleep(self.program_cycle_s)
|
||||
time.sleep(self.sync_delay)
|
||||
self.send_kv(MSG_KEY_SYNC, MSG_VALUE_DUMMY)
|
||||
reset_reason = yield
|
||||
raise_if_different(RESET_REASONS['SOFTWARE'], reset_reason, 'Wrong reset reason. ')
|
||||
|
|
@ -154,7 +154,7 @@ class ResetReasonTest(BaseHostTest):
|
|||
else:
|
||||
self.send_kv(MSG_KEY_DEVICE_RESET, MSG_VALUE_DEVICE_RESET_WATCHDOG)
|
||||
__ignored_reset_ack = yield
|
||||
time.sleep(self.program_cycle_s)
|
||||
time.sleep(self.sync_delay)
|
||||
self.send_kv(MSG_KEY_SYNC, MSG_VALUE_DUMMY)
|
||||
reset_reason = yield
|
||||
raise_if_different(RESET_REASONS['WATCHDOG'], reset_reason, 'Wrong reset reason. ')
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||
import time
|
||||
from mbed_host_tests import BaseHostTest
|
||||
|
||||
DEFAULT_CYCLE_PERIOD = 4.0
|
||||
DEFAULT_SYNC_DELAY = 4.0
|
||||
|
||||
MSG_VALUE_DUMMY = '0'
|
||||
MSG_KEY_DEVICE_READY = 'ready'
|
||||
|
|
@ -47,11 +47,11 @@ class SyncOnReset(BaseHostTest):
|
|||
def __init__(self):
|
||||
super(SyncOnReset, self).__init__()
|
||||
self.test_case_num = 0
|
||||
self.program_cycle_s = DEFAULT_CYCLE_PERIOD
|
||||
self.sync_delay = DEFAULT_SYNC_DELAY
|
||||
|
||||
def setup(self):
|
||||
cycle_s = self.get_config_item('program_cycle_s')
|
||||
self.program_cycle_s = cycle_s if cycle_s is not None else DEFAULT_CYCLE_PERIOD
|
||||
sync_delay = self.get_config_item('forced_reset_timeout')
|
||||
self.sync_delay = sync_delay if sync_delay is not None else DEFAULT_SYNC_DELAY
|
||||
self.register_callback(MSG_KEY_DEVICE_READY, self.cb_device_ready)
|
||||
self.register_callback(MSG_KEY_DEVICE_RESET, self.cb_device_reset)
|
||||
|
||||
|
|
@ -69,5 +69,5 @@ class SyncOnReset(BaseHostTest):
|
|||
except ValueError:
|
||||
pass
|
||||
self.test_case_num += 1
|
||||
time.sleep(self.program_cycle_s)
|
||||
time.sleep(self.sync_delay)
|
||||
self.send_kv(MSG_KEY_SYNC, MSG_VALUE_DUMMY)
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ from mbed_host_tests import BaseHostTest
|
|||
|
||||
TestCaseData = collections.namedtuple('TestCaseData', ['index', 'data_to_send'])
|
||||
|
||||
DEFAULT_CYCLE_PERIOD = 4.0
|
||||
DEFAULT_SYNC_DELAY = 4.0
|
||||
MAX_HB_PERIOD = 2.5 # [s] Max expected heartbeat period.
|
||||
|
||||
MSG_VALUE_DUMMY = '0'
|
||||
|
|
@ -49,7 +49,7 @@ class WatchdogReset(BaseHostTest):
|
|||
super(WatchdogReset, self).__init__()
|
||||
self.current_case = TestCaseData(0, CASE_DATA_INVALID)
|
||||
self.__handshake_timer = None
|
||||
self.program_cycle_s = DEFAULT_CYCLE_PERIOD
|
||||
self.sync_delay = DEFAULT_SYNC_DELAY
|
||||
self.drop_heartbeat_messages = True
|
||||
self.hb_timestamps_us = []
|
||||
|
||||
|
|
@ -93,8 +93,8 @@ class WatchdogReset(BaseHostTest):
|
|||
self.current_case = TestCaseData(self.current_case.index, dev_data)
|
||||
|
||||
def setup(self):
|
||||
cycle_s = self.get_config_item('program_cycle_s')
|
||||
self.program_cycle_s = cycle_s if cycle_s is not None else DEFAULT_CYCLE_PERIOD
|
||||
sync_delay = self.get_config_item('forced_reset_timeout')
|
||||
self.sync_delay = sync_delay if sync_delay is not None else DEFAULT_SYNC_DELAY
|
||||
self.register_callback(MSG_KEY_DEVICE_READY, self.cb_device_ready)
|
||||
self.register_callback(MSG_KEY_DEVICE_RESET, self.cb_device_reset)
|
||||
self.register_callback(MSG_KEY_HEARTBEAT, self.cb_heartbeat)
|
||||
|
|
@ -123,7 +123,7 @@ class WatchdogReset(BaseHostTest):
|
|||
self.handshake_timer_cancel()
|
||||
case_num, dev_reset_delay_ms = (int(i, base=16) for i in value.split(','))
|
||||
self.current_case = TestCaseData(case_num, CASE_DATA_PHASE2_OK)
|
||||
self.handshake_timer_start(self.program_cycle_s + dev_reset_delay_ms / 1000.0)
|
||||
self.handshake_timer_start(self.sync_delay + dev_reset_delay_ms / 1000.0)
|
||||
|
||||
def cb_heartbeat(self, key, value, timestamp):
|
||||
"""Save the timestamp of a heartbeat message.
|
||||
|
|
@ -141,5 +141,5 @@ class WatchdogReset(BaseHostTest):
|
|||
self.current_case = TestCaseData(case_num, CASE_DATA_INVALID)
|
||||
self.hb_timestamps_us.append(timestamp_us)
|
||||
self.handshake_timer_start(
|
||||
seconds=(MAX_HB_PERIOD + self.program_cycle_s),
|
||||
seconds=(MAX_HB_PERIOD + self.sync_delay),
|
||||
pre_sync_fun=self.heartbeat_timeout_handler)
|
||||
|
|
|
|||
Loading…
Reference in New Issue