RTL may disarm the vehicle on completion. We RTL at several times in
the testing, and the subsequent tests were not rearming. This means we
had a race condition.
We now explicitly wait to be disarmed by the RTL mode, and rearm the
vehicle.
This is an interim patch until we decide whether to make each "test"
self-contained, and have a precondition of "on ground and disarmed".
If any of the tests throws an exception, it will be caught by the generic test function
that collects all errors and displays them before passing the result to the vehicle testcode.
Hence the name of the test and the exception that got raised get printed in a single
location. This nicely reduces code duplication.
This function is called from every vehicle to run a test. If any of the tests throws an exception, it will be caught here, and the name of the test and the exception that got raised will be added to the fail_list
Three of our models start a SITL instance to apply parameters
then restart it so that the parameter changes can take effect.
Factor that functionality out.
File "./Tools/autotest/sim_vehicle.py", line 999, in <module>
location)
File "./Tools/autotest/sim_vehicle.py", line 573, in start_vehicle
run_in_terminal_window(autotest, cmd_name, cmd)
File "./Tools/autotest/sim_vehicle.py", line 476, in
run_in_terminal_window
tabs = p.findall(out)
TypeError: cannot use a string pattern on a bytes-like object
SIM_VEHICLE: Killing tasks
Autotest: common.py add new base class and test
Autotest : Common add heartbeat handling on wait_mode timeout
Autotest: common.py add reach_heading_manual and reach_distance_manual
Autotest: new autotest implementation for Rover
Autotest : rover add drive_square test
Autotest: new autotest implementation for Copter
Autotest: new autotest implementation for Plane
Autotest: new autotest implementation for Sub
Autotest: new autotest implementation
Autotest: new autotest implementation for QuadPlane
Autotest : Sub disable GCS_Failsafe on autotest to prevent timeout. The failsafe aren't currently tested on Sub