autotest: correct applet-testing scripts to use contexts for scripts

means we don't leave the script lying around in case of test failure
This commit is contained in:
Peter Barker 2024-07-29 15:48:45 +10:00 committed by Peter Barker
parent 106068818e
commit 602f5bc61c
3 changed files with 9 additions and 30 deletions

View File

@ -5077,8 +5077,8 @@ class AutoTestPlane(vehicle_test_suite.TestSuite):
wipe=True) wipe=True)
self.context_push() self.context_push()
self.install_applet_script(applet_script) self.install_applet_script_context(applet_script)
self.install_applet_script(airshow, install_name=trick72) self.install_applet_script_context(airshow, install_name=trick72)
self.context_collect('STATUSTEXT') self.context_collect('STATUSTEXT')
self.reboot_sitl() self.reboot_sitl()
@ -5124,8 +5124,6 @@ class AutoTestPlane(vehicle_test_suite.TestSuite):
self.progress("Finished trick, max error=%.1fm" % highest_error) self.progress("Finished trick, max error=%.1fm" % highest_error)
self.disarm_vehicle(force=True) self.disarm_vehicle(force=True)
self.remove_installed_script(applet_script)
self.remove_installed_script(trick72)
messages = self.context_collection('STATUSTEXT') messages = self.context_collection('STATUSTEXT')
self.context_pop() self.context_pop()
self.reboot_sitl() self.reboot_sitl()

View File

@ -1308,9 +1308,7 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
def VTOLQuicktune(self): def VTOLQuicktune(self):
'''VTOL Quicktune''' '''VTOL Quicktune'''
applet_script = "VTOL-quicktune.lua" self.install_applet_script_context("VTOL-quicktune.lua")
self.install_applet_script(applet_script)
self.set_parameters({ self.set_parameters({
"SCR_ENABLE": 1, "SCR_ENABLE": 1,
@ -1320,7 +1318,6 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
self.reboot_sitl() self.reboot_sitl()
self.context_push()
self.context_collect('STATUSTEXT') self.context_collect('STATUSTEXT')
self.set_parameters({ self.set_parameters({
"QUIK_ENABLE" : 1, "QUIK_ENABLE" : 1,
@ -1352,16 +1349,11 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
self.change_mode("QLAND") self.change_mode("QLAND")
self.wait_disarmed(timeout=120) self.wait_disarmed(timeout=120)
self.set_parameter("QUIK_ENABLE", 0)
self.context_pop()
self.remove_installed_script(applet_script)
self.reboot_sitl()
def PrecisionLanding(self): def PrecisionLanding(self):
'''VTOL precision landing''' '''VTOL precision landing'''
applet_script = "plane_precland.lua"
self.install_applet_script(applet_script) self.install_applet_script_context("plane_precland.lua")
here = self.mav.location() here = self.mav.location()
target = self.offset_location_ne(here, 20, 0) target = self.offset_location_ne(here, 20, 0)
@ -1385,13 +1377,13 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
self.reboot_sitl() self.reboot_sitl()
self.context_push()
self.context_collect('STATUSTEXT')
self.set_parameters({ self.set_parameters({
"PLND_ALT_CUTOFF" : 5, "PLND_ALT_CUTOFF" : 5,
"SIM_SPEEDUP" : 10, "SIM_SPEEDUP" : 10,
}) })
self.context_collect('STATUSTEXT')
self.scripting_restart() self.scripting_restart()
self.wait_text("PLND: Loaded", check_context=True) self.wait_text("PLND: Loaded", check_context=True)
@ -1412,15 +1404,9 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
if error > 2: if error > 2:
raise NotAchievedException("too far from target %.1fm" % error) raise NotAchievedException("too far from target %.1fm" % error)
self.context_pop()
self.remove_installed_script(applet_script)
self.reboot_sitl()
def ShipLanding(self): def ShipLanding(self):
'''ship landing test''' '''ship landing test'''
applet_script = "plane_ship_landing.lua" self.install_applet_script_context("plane_ship_landing.lua")
self.install_applet_script(applet_script)
self.set_parameters({ self.set_parameters({
"SCR_ENABLE": 1, "SCR_ENABLE": 1,
@ -1438,7 +1424,6 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
self.reboot_sitl(check_position=False) self.reboot_sitl(check_position=False)
self.context_push()
self.context_collect('STATUSTEXT') self.context_collect('STATUSTEXT')
self.set_parameters({ self.set_parameters({
"SHIP_ENABLE" : 1, "SHIP_ENABLE" : 1,
@ -1467,10 +1452,6 @@ class AutoTestQuadPlane(vehicle_test_suite.TestSuite):
# with the deck # with the deck
self.wait_groundspeed(4.8, 5.2) self.wait_groundspeed(4.8, 5.2)
self.context_pop()
self.remove_installed_script(applet_script)
self.reboot_sitl(check_position=False)
def RCDisableAirspeedUse(self): def RCDisableAirspeedUse(self):
'''check disabling airspeed using RC switch''' '''check disabling airspeed using RC switch'''
self.set_parameter("RC9_OPTION", 106) self.set_parameter("RC9_OPTION", 106)

View File

@ -4831,10 +4831,10 @@ class TestSuite(ABC):
self.install_mavlink_module() self.install_mavlink_module()
self.context_get().installed_modules.append("mavlink") self.context_get().installed_modules.append("mavlink")
def install_applet_script_context(self, scriptname): def install_applet_script_context(self, scriptname, **kwargs):
'''installs an applet script which will be removed when the context goes '''installs an applet script which will be removed when the context goes
away''' away'''
self.install_applet_script(scriptname) self.install_applet_script(scriptname, **kwargs)
self.context_get().installed_scripts.append(scriptname) self.context_get().installed_scripts.append(scriptname)
def rootdir(self): def rootdir(self):