Browse Source

autotest: correct checking of downloaded file

First time we've tried to round-trip a mission file with comments it it

New frames used by new mission files need stuff to be ignored
c415-sdk
Peter Barker 5 years ago committed by Peter Barker
parent
commit
efb5ad2f1c
  1. 24
      Tools/autotest/common.py

24
Tools/autotest/common.py

@ -1613,11 +1613,26 @@ class AutoTest(ABC): @@ -1613,11 +1613,26 @@ class AutoTest(ABC):
this_dir = os.path.dirname(__file__)
return os.path.realpath(os.path.join(this_dir, "../.."))
def assert_mission_files_same(self, file1, file2):
def assert_mission_files_same(self, file1, file2, match_comments=False):
self.progress("Comparing (%s) and (%s)" % (file1, file2, ))
f1 = open(file1)
f2 = open(file2)
for l1, l2 in zip(f1, f2):
lines1 = f1.readlines()
lines2 = f2.readlines()
if not match_comments:
# strip comments from all lines
lines1 = [re.sub(r"\s*#.*", "", x, re.DOTALL) for x in lines1]
lines2 = [re.sub(r"\s*#.*", "", x, re.DOTALL) for x in lines2]
# FIXME: because DOTALL doesn't seem to work as expected:
lines1 = [x.rstrip() for x in lines1]
lines2 = [x.rstrip() for x in lines2]
# remove now-empty lines:
lines1 = filter(lambda x : len(x), lines1)
lines2 = filter(lambda x : len(x), lines2)
for l1, l2 in zip(lines1, lines2):
l1 = l1.rstrip("\r\n")
l2 = l2.rstrip("\r\n")
if l1 == l2:
@ -1640,11 +1655,12 @@ class AutoTest(ABC): @@ -1640,11 +1655,12 @@ class AutoTest(ABC):
mavutil.mavlink.MAV_CMD_NAV_LOITER_TIME,
mavutil.mavlink.MAV_CMD_DO_JUMP,
mavutil.mavlink.MAV_CMD_DO_DIGICAM_CONTROL,
mavutil.mavlink.MAV_CMD_DO_SET_SERVO,
]:
# ardupilot doesn't remember frame on these commands
if int(i1) == 3:
if int(i1) in [3, 10]: # 3 is relative, 10 is AMSL
i1 = 0
if int(i2) == 3:
if int(i2) in [3, 10]:
i2 = 0
if count == 6: # param 3
if t in [mavutil.mavlink.MAV_CMD_NAV_LOITER_TIME]:

Loading…
Cancel
Save