Merge pull request #172 from CopterExpress/selfcheck_roslaunch

Show roslaunch errors in selfcheck
This commit is contained in:
Oleg Kalachev
2019-09-02 20:12:49 +03:00
committed by GitHub
2 changed files with 6 additions and 6 deletions

View File

@@ -7,8 +7,6 @@ After=network.target
User=pi User=pi
ExecStart=/bin/sh -c ". /home/pi/catkin_ws/devel/setup.sh; \ ExecStart=/bin/sh -c ". /home/pi/catkin_ws/devel/setup.sh; \
ROS_HOSTNAME=`hostname`.local exec roslaunch clever clever.launch --wait --screen --skip-log-check" ROS_HOSTNAME=`hostname`.local exec roslaunch clever clever.launch --wait --screen --skip-log-check"
Restart=on-failure
RestartSec=3
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@@ -642,16 +642,18 @@ def check_clever_service():
j.add_match(UNIT='clever.service') j.add_match(UNIT='clever.service')
node_errors = [] node_errors = []
r = re.compile(r'^(.*)\[(FATAL|ERROR)\] \[\d+.\d+\]: (.*)$') r = re.compile(r'^(.*)\[(FATAL|ERROR)\] \[\d+.\d+\]: (.*)$')
for event in j: for event in reversed(list(j)):
msg = event['MESSAGE'] msg = event['MESSAGE']
if ('Stopped Clever ROS package' in msg) or ('Started Clever ROS package' in msg): if 'Started Clever ROS package' in msg:
node_errors = [] break # we're done
elif ('[ERROR]' in msg) or ('[FATAL]' in msg): elif ('[ERROR]' in msg) or ('[FATAL]' in msg):
msg = r.search(msg).groups()[2] msg = r.search(msg).groups()[2]
if msg in node_errors: if msg in node_errors:
continue continue
node_errors.append(msg) node_errors.append(msg)
for error in node_errors: elif ('ERROR: ' in msg) or ('while processing' in msg) or ('Invalid roslaunch XML syntax' in msg):
node_errors.append(msg)
for error in reversed(node_errors):
failure(error) failure(error)