autotest: add test for auxfunc triggering via script

This commit is contained in:
Peter Barker 2021-05-04 16:56:31 +10:00 committed by Peter Barker
parent 0545c3941b
commit 9a13b5c9b6
2 changed files with 43 additions and 0 deletions

View File

@ -5060,6 +5060,19 @@ class AutoTest(ABC):
**kwargs
)
def wait_parameter_value(self, parameter, value, timeout=10):
tstart = self.get_sim_time()
while True:
if self.get_sim_time_cached() - tstart > timeout:
raise NotAchievedException("%s never got value %f" %
(parameter, value))
v = self.get_parameter(parameter, verbose=False)
self.progress("Got parameter value (%s=%f)" %
(parameter, v))
if v == value:
return
self.delay_sim_time(0.1)
def get_servo_channel_value(self, channel, timeout=2):
channel_field = "servo%u_raw" % channel
tstart = self.get_sim_time()

View File

@ -5115,10 +5115,40 @@ Brakes have negligible effect (with=%0.2fm without=%0.2fm delta=%0.2fm)
if ex is not None:
raise ex
def test_scripting_auxfunc(self):
self.start_subtest("Scripting aufunc triggering")
self.context_push()
self.set_parameter('RELAY_PIN', 1)
self.context_collect("STATUSTEXT")
ex = None
example_script = "RCIN_test.lua"
try:
self.set_parameter("SCR_ENABLE", 1)
self.install_example_script(example_script)
self.reboot_sitl()
self.wait_parameter_value("SIM_PIN_MASK", 121)
self.wait_parameter_value("SIM_PIN_MASK", 123)
self.wait_parameter_value("SIM_PIN_MASK", 121)
except Exception as e:
self.print_exception_caught(e)
ex = e
self.remove_example_script(example_script)
self.context_pop()
self.reboot_sitl()
if ex is not None:
raise ex
def test_scripting(self):
self.test_scripting_hello_world()
self.test_scripting_simple_loop()
self.test_scripting_internal_test()
self.test_scripting_auxfunc()
def test_mission_frame(self, frame, target_system=1, target_component=1):
self.clear_mission(mavutil.mavlink.MAV_MISSION_TYPE_MISSION,