mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-27 02:04:00 -04:00
Tools: LogAnalyzer: add NaN check
This commit is contained in:
parent
2aec41e0ef
commit
f5e8facc87
29
Tools/LogAnalyzer/tests/TestNaN.py
Normal file
29
Tools/LogAnalyzer/tests/TestNaN.py
Normal file
@ -0,0 +1,29 @@
|
||||
from LogAnalyzer import Test,TestResult
|
||||
import math
|
||||
|
||||
class TestNaN(Test):
|
||||
'''test for NaNs present in log'''
|
||||
|
||||
def __init__(self):
|
||||
Test.__init__(self)
|
||||
self.name = "NaNs"
|
||||
|
||||
def run(self, logdata, verbose):
|
||||
self.result = TestResult()
|
||||
self.result.status = TestResult.StatusType.GOOD
|
||||
|
||||
def FAIL():
|
||||
self.result.status = TestResult.StatusType.FAIL
|
||||
|
||||
|
||||
for channel in logdata.channels.keys():
|
||||
for field in logdata.channels[channel].keys():
|
||||
try:
|
||||
for tupe in logdata.channels[channel][field].listData:
|
||||
(ts, val) = tupe
|
||||
if isinstance(val, float) and math.isnan(val):
|
||||
FAIL()
|
||||
self.result.statusMessage += "Found NaN in %s.%s\n" % (channel, field,)
|
||||
raise ValueError()
|
||||
except ValueError as e:
|
||||
continue
|
Loading…
Reference in New Issue
Block a user