summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-10-05 14:21:01 +1100
committerChris Johns <chrisj@rtems.org>2017-10-05 14:21:01 +1100
commit0737b4603b8b2b9b9567a1af4cb5a286941d1b40 (patch)
tree4fb6aea775d3b6bfd45c9ab8baef61b7502f8ac7
parenttester: Fix the TFTP ok to kill deadlock. (diff)
downloadrtems-tools-0737b4603b8b2b9b9567a1af4cb5a286941d1b40.tar.bz2
tester: Add a target reset regular expression to detect a reset.
-rw-r--r--tester/rt/config.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tester/rt/config.py b/tester/rt/config.py
index a19cc6c..455b175 100644
--- a/tester/rt/config.py
+++ b/tester/rt/config.py
@@ -36,6 +36,7 @@ from __future__ import print_function
import datetime
import os
+import re
import threading
from rtemstoolkit import config
@@ -73,6 +74,7 @@ class file(config.file):
self.kill_good = False
self.kill_on_end = False
self.test_label = None
+ self.target_reset_regx = None
def __del__(self):
if self.console:
@@ -257,6 +259,13 @@ class file(config.file):
print(' '.join(l))
def run(self):
+ if self.defined('target_reset_regex'):
+ try:
+ regex = self.expand('%{target_reset_regex}')
+ self.target_reset_regx = re.compile(regex, re.MULTILINE)
+ except:
+ msg = 'invalid target reset regex: %s' % (regex)
+ raise error.general(msg)
self.load(self.name)
def capture(self, text):
@@ -264,9 +273,14 @@ class file(config.file):
self.test_started = '*** BEGIN OF TEST ' in text
ok_to_kill = '*** TEST STATE: USER_INPUT' in text or \
'*** TEST STATE: BENCHMARK' in text
- reset_target = False
if ok_to_kill:
reset_target = True
+ else:
+ reset_target = False
+ if self.test_started and self.target_reset_regx is not None:
+ if self.target_reset_regx.match(text):
+ self.capture_console('target reset detected')
+ ok_to_kill = True
if self.kill_on_end:
if self.test_label is None:
s = text.find('*** BEGIN OF TEST ')