mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-22 00:28:30 -04:00
AutoTest: print failed copter test
Name of the failed tests appears at the moment it fails and then again after all tests have been run. This hopefully makes it slightly easier to know which test has failed
This commit is contained in:
parent
a4c675c23e
commit
cad1441739
@ -298,7 +298,8 @@ def fly_battery_failsafe(mavproxy, mav, timeout=30):
|
||||
mavproxy.send('param set SIM_BATT_VOLTAGE 10\n')
|
||||
|
||||
# wait for LAND mode
|
||||
if wait_mode(mav, 'LAND', timeout) == 'LAND':
|
||||
new_mode = wait_mode(mav, 'LAND')
|
||||
if new_mode == 'LAND':
|
||||
success = True
|
||||
|
||||
# disable battery failsafe
|
||||
@ -308,7 +309,7 @@ def fly_battery_failsafe(mavproxy, mav, timeout=30):
|
||||
if success:
|
||||
print("Successfully entered LAND mode after battery failsafe")
|
||||
else:
|
||||
print("Failed to neter LAND mode after battery failsafe")
|
||||
print("Failed to enter LAND mode after battery failsafe")
|
||||
|
||||
return success
|
||||
|
||||
@ -960,7 +961,8 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
|
||||
|
||||
failed = False
|
||||
e = 'None'
|
||||
failed_test_msg = "None"
|
||||
|
||||
try:
|
||||
mav.wait_heartbeat()
|
||||
setup_rc(mavproxy)
|
||||
@ -968,18 +970,21 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
|
||||
print("# Calibrate level")
|
||||
if not calibrate_level(mavproxy, mav):
|
||||
print("calibrate_level failed")
|
||||
failed_test_msg = "calibrate_level failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Arm
|
||||
print("# Arm motors")
|
||||
if not arm_motors(mavproxy, mav):
|
||||
print("arm_motors failed")
|
||||
failed_test_msg = "arm_motors failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Fly a square in Stabilize mode
|
||||
@ -987,12 +992,14 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Fly a square and save WPs with CH7 switch ##########")
|
||||
print("#")
|
||||
if not fly_square(mavproxy, mav):
|
||||
print("fly_square failed")
|
||||
failed_test_msg = "fly_square failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
print("# Land")
|
||||
if not land(mavproxy, mav):
|
||||
print("land failed")
|
||||
failed_test_msg = "land failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
print("Save landing WP")
|
||||
@ -1001,13 +1008,15 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
# save the stored mission to file
|
||||
print("# Save out the CH7 mission to file")
|
||||
if not save_mission_to_file(mavproxy, mav, os.path.join(testdir, "ch7_mission.txt")):
|
||||
print("save_mission_to_file failed")
|
||||
failed_test_msg = "save_mission_to_file failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# fly the stored mission
|
||||
print("# Fly CH7 saved mission")
|
||||
if not fly_mission(mavproxy, mav,height_accuracy = 0.5, target_altitude=10):
|
||||
print("fly_mission failed")
|
||||
failed_test_msg = "fly_mission failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Throttle Failsafe
|
||||
@ -1015,24 +1024,28 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test Failsafe ##########")
|
||||
print("#")
|
||||
if not fly_throttle_failsafe(mavproxy, mav):
|
||||
print("FS failed")
|
||||
failed_test_msg = "fly_throttle_failsafe failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Battery failsafe
|
||||
if not fly_battery_failsafe(mavproxy, mav):
|
||||
print("battery failsafe failed")
|
||||
failed_test_msg = "fly_battery_failsafe failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Stability patch
|
||||
@ -1040,19 +1053,22 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test Stability Patch ##########")
|
||||
print("#")
|
||||
if not fly_stability_patch(mavproxy, mav, 30):
|
||||
print("Stability Patch failed")
|
||||
failed_test_msg = "fly_stability_patch failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# RTL
|
||||
print("# RTL #")
|
||||
if not fly_RTL(mavproxy, mav):
|
||||
print("RTL failed")
|
||||
failed_test_msg = "fly_RTL failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Fence test
|
||||
@ -1060,37 +1076,43 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test Horizontal Fence ##########")
|
||||
print("#")
|
||||
if not fly_fence_test(mavproxy, mav, 180):
|
||||
print("Fence test failed")
|
||||
failed_test_msg = "fly_fence_test failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Fly GPS Glitch Loiter test
|
||||
print("# GPS Glitch Loiter Test")
|
||||
if not fly_gps_glitch_loiter_test(mavproxy, mav):
|
||||
print("failed GPS glitch Loiter test")
|
||||
failed_test_msg = "fly_gps_glitch_loiter_test failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# RTL after GPS Glitch Loiter test
|
||||
print("# RTL #")
|
||||
if not fly_RTL(mavproxy, mav):
|
||||
print("RTL failed")
|
||||
failed_test_msg = "fly_RTL failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Fly GPS Glitch test in auto mode
|
||||
print("# GPS Glitch Auto Test")
|
||||
if not fly_gps_glitch_auto_test(mavproxy, mav):
|
||||
print("failed GPS glitch Auto test")
|
||||
failed_test_msg = "fly_gps_glitch_auto_test failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# take-off ahead of next test
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Loiter for 10 seconds
|
||||
@ -1098,7 +1120,8 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test Loiter for 10 seconds ##########")
|
||||
print("#")
|
||||
if not loiter(mavproxy, mav):
|
||||
print("loiter failed")
|
||||
failed_test_msg = "loiter failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Loiter Climb
|
||||
@ -1106,7 +1129,8 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("# Loiter - climb to 30m")
|
||||
print("#")
|
||||
if not change_alt(mavproxy, mav, 30):
|
||||
print("change_alt failed")
|
||||
failed_test_msg = "change_alt climb failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Loiter Descend
|
||||
@ -1114,11 +1138,13 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("# Loiter - descend to 20m")
|
||||
print("#")
|
||||
if not change_alt(mavproxy, mav, 20):
|
||||
print("change_alt failed")
|
||||
failed_test_msg = "change_alt descend failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# RTL
|
||||
@ -1126,19 +1152,22 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test RTL ##########")
|
||||
print("#")
|
||||
if not fly_RTL(mavproxy, mav):
|
||||
print("RTL failed")
|
||||
failed_test_msg = "fly_RTL failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Simple mode
|
||||
print("# Fly in SIMPLE mode")
|
||||
if not fly_simple(mavproxy, mav):
|
||||
print("fly_simple failed")
|
||||
failed_test_msg = "fly_simple failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# RTL
|
||||
@ -1146,37 +1175,43 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test RTL ##########")
|
||||
print("#")
|
||||
if not fly_RTL(mavproxy, mav):
|
||||
print("RTL failed")
|
||||
failed_test_msg = "fly_RTL failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Fly a circle in super simple mode
|
||||
print("# Fly a circle in SUPER SIMPLE mode")
|
||||
if not fly_super_simple(mavproxy, mav):
|
||||
print("fly super simple failed")
|
||||
failed_test_msg = "fly_super_simple failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# RTL
|
||||
print("# RTL #")
|
||||
if not fly_RTL(mavproxy, mav):
|
||||
print("RTL failed")
|
||||
failed_test_msg = "fly_RTL failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Takeoff
|
||||
print("# Takeoff")
|
||||
if not takeoff(mavproxy, mav, 10):
|
||||
print("takeoff failed")
|
||||
failed_test_msg = "takeoff failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Circle mode
|
||||
print("# Fly CIRCLE mode")
|
||||
if not fly_circle(mavproxy, mav):
|
||||
print("fly_circle failed")
|
||||
failed_test_msg = "fly_circle failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# RTL
|
||||
@ -1184,21 +1219,25 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
print("########## Test RTL ##########")
|
||||
print("#")
|
||||
if not fly_RTL(mavproxy, mav):
|
||||
print("RTL failed")
|
||||
failed_test_msg = "fly_RTL failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
print("# Fly copter mission")
|
||||
if not fly_auto_test(mavproxy, mav):
|
||||
print("fly_mission failed")
|
||||
failed_test_msg = "fly_auto_test failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
else:
|
||||
print("Flew copter mission OK")
|
||||
|
||||
if not log_download(mavproxy, mav, util.reltopdir("../buildlogs/ArduCopter-log.bin")):
|
||||
print("Failed log download")
|
||||
failed_test_msg = "log_download failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
except pexpect.TIMEOUT, e:
|
||||
except pexpect.TIMEOUT, failed_test_msg:
|
||||
failed_test_msg = "Timeout"
|
||||
failed = True
|
||||
|
||||
mav.close()
|
||||
@ -1211,7 +1250,7 @@ def fly_ArduCopter(viewerip=None, map=False):
|
||||
shutil.copy("ArduCopter-valgrind.log", util.reltopdir("../buildlogs/ArduCopter-valgrind.log"))
|
||||
|
||||
if failed:
|
||||
print("FAILED: %s" % e)
|
||||
print("FAILED: %s" % failed_test_msg)
|
||||
return False
|
||||
return True
|
||||
|
||||
@ -1288,7 +1327,8 @@ def fly_CopterAVC(viewerip=None, map=False):
|
||||
|
||||
|
||||
failed = False
|
||||
e = 'None'
|
||||
failed_test_msg = "None"
|
||||
|
||||
try:
|
||||
mav.wait_heartbeat()
|
||||
setup_rc(mavproxy)
|
||||
@ -1296,28 +1336,33 @@ def fly_CopterAVC(viewerip=None, map=False):
|
||||
|
||||
print("# Calibrate level")
|
||||
if not calibrate_level(mavproxy, mav):
|
||||
print("calibrate_level failed")
|
||||
failed_test_msg = "calibrate_level failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
# Arm
|
||||
print("# Arm motors")
|
||||
if not arm_motors(mavproxy, mav):
|
||||
print("arm_motors failed")
|
||||
failed_test_msg = "arm_motors failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
print("# Fly AVC mission")
|
||||
if not fly_avc_test(mavproxy, mav):
|
||||
print("fly_avc_test failed")
|
||||
failed_test_msg = "fly_avc_test failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
else:
|
||||
print("Flew AVC mission OK")
|
||||
|
||||
#mission includes disarm at end so should be ok to download logs now
|
||||
if not log_download(mavproxy, mav, util.reltopdir("../buildlogs/CopterAVC-log.bin")):
|
||||
print("Failed log download")
|
||||
failed_test_msg = "log_download failed"
|
||||
print(failed_test_msg)
|
||||
failed = True
|
||||
|
||||
except pexpect.TIMEOUT, e:
|
||||
except pexpect.TIMEOUT, failed_test_msg:
|
||||
failed_test_msg = "Timeout"
|
||||
failed = True
|
||||
|
||||
mav.close()
|
||||
|
Loading…
Reference in New Issue
Block a user