Commit Graph

196 Commits

Author SHA1 Message Date
Peter Barker 38898dc793 Tools: autotest: add test for vision position estimate 2018-06-30 10:11:10 +10:00
Peter Barker 975b8c2e5f Tools: autotest: use reboot to apply parameter changes; avoid sim restart
Previously we stopped the simulation to ensure parameter changes are
applied to the simulated vehicle.  We can now reboot the simulated
autopilot, so these patches make use of those changes.

One big advantage is that the --gdb option is in play for the applying
of the parameters to the vehicle.
2018-06-29 10:54:27 +10:00
Peter Barker 0b8b23baf6 Tools: adjust tests for vfr_hud getting absolute altitude 2018-06-05 09:38:20 +10:00
Peter Barker 23a2ea4084 Tools: autotest: set rc to 1500 on RTL 2018-05-15 20:06:05 +09:00
Guilherme Sousa dab3b93dc3 autotest: Improved motor failure test
This is based on https://github.com/ArduPilot/ardupilot/pull/6028 by
GuilhermeGSousa
2018-05-15 20:06:05 +09:00
Peter Barker f3d6d8e236 Tools: autotest: make Copter tests more reliable
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".
2018-05-11 08:07:21 +09:00
Peter Barker 58f4b4b65d Tools: autotest: correct copter auto mission test 2018-05-09 14:23:51 +10:00
Peter Barker 513865ae4d Tools: autotest: flake8 compliance 2018-05-09 14:23:51 +10:00
Karthik Desai 40cd0cd17f Tools: autotest: Use the generic run_test.
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.
2018-05-09 14:23:45 +10:00
Karthik Desai 75ae59c0c8 Autotest: Remove frame initialisation.
This will otherwise override the --frame parameter. The init() function takes care of the initialisation
2018-04-17 23:00:04 +10:00
Michael du Breuil 69cf009898 AutoTest: Update copter battery failsafe test 2018-03-27 22:12:21 +01:00
Karthik Desai 9de1813ae6 Autotest: Fix a race condition on the regression tests on Windows 2018-03-23 09:13:37 +09:00
Peter Barker 8511c2c04b Tools: autotest: factor out apply_parameters_using_sitl
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.
2018-03-20 08:39:12 +11:00
Peter Barker fe3b882bea Tools: autotest: move close method up to common.py 2018-03-20 08:39:12 +11:00
Peter Barker 31ba99e58a Tools: autotest: use buildlogs_path for all buildlogs 2018-03-20 08:39:12 +11:00
Peter Barker b2cb6e196c Tools: autotest: pull common MAVProxy options into common.py 2018-03-20 08:39:12 +11:00
Peter Barker b348cfa985 Tools: autotest: flake8 compliance
Taking the opportunity to make massive changes while we're destroying
history anyway.
2018-03-15 07:54:21 +09:00
Pierre Kancir 259dda810d Tools: use base class to share code between vehicle tests
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
2018-03-15 07:54:21 +09:00
Peter Barker aeb99c675b Tools: autotest: remove racey mavproxy.expect
The autopilot could well have emitted the statustext before we
start to expect() it
2018-02-13 17:15:05 +11:00
Peter Barker 8c516fb29c Tools: autotest: add max-alt fence 2017-12-13 10:04:50 +09:00
khancyr fac89ed437 Tools: autotest: move common functionality to common.py
Tools: don't need to pass option on first mavproxy

Tools: reformat common.py and add commun function

Tools: use new common functions

Tools: move functions from rover to commun and reorder

Tools: add and use set_rc function with timeout

Tools: fix style for pep8
2017-12-02 22:28:22 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 5c07a44a6d Tools: Fix a race condition on the regression tests on Windows
Added \r\n to the expect() string as recomended at:
http://pexpect.readthedocs.io/en/stable/overview.html#find-the-end-of-line-cr-lf-conventions
this should work on both windows and linux systems

pexpect says it will always do a minimal (non greedy) matching and docs explicitly say that a .+ expression will always return only one character. These lines in autotest are looking for \S+, which, believing the documentation, would only return one character of the log file path.
Now we know that's not true, neither for Linux or for Windows (given the logs from @karthikdesai), so I can only assume that it does a greedy match but only for the characters it has received at the time expect is called.
Apparently, in the machines we are using autotest, it isn't a problem since MAVProxy is likely fast to give its output to pexpect before the expect method is called. On @karthikdesai's machine that wasn't happening since his machine was more or less loaded.
Concluding, this looks like a correct fix in the sense that it extends the regex pattern to wait for the end of line (and probably other places could benefit from it too).
2017-11-22 17:01:05 +09:00
Peter Barker 2f76f83ab7 Tools: autotest: add and use progress function
Based on work done by khancir
(https://github.com/ArduPilot/ardupilot/pull/6360)

Tools: arduplane.py change print to progress function
Tools: quadplane.py change print to progress function
Tools: ardusub.py change print to progress function
2017-11-14 16:02:05 +11:00
Pierre Kancir 76bb081d60 Tools: autotest: add python headers to scripts
Tools: arduplane.py add python header

Tools: apmrover2.py add python header

Tools: arducopter.py add python header

Tools: ardusub.py add python header

Tools: quadplane.py add python header
2017-11-14 14:47:32 +11:00
Andrew Tridgell 776355ef2b autotest: fixed heli test
need to wait for motor runup
2017-09-27 20:54:21 +10:00
Peter Barker 78a0298af0 Tools: autotest.py: look at EKF flags to determine armability 2017-09-15 15:57:11 +01:00
Peter Barker 1b7122d733 Tools: add a --speedup parameter to autotest to control speed of all sims 2017-08-29 22:49:40 +01:00
Peter Barker 0334cc1c88 Tools: correct copter's fly_throttle_failsafe failure case 2017-08-26 09:36:09 +10:00
Miguel Arroyo 38297c4d19 Tools: Adds GDBServer with screen option for debugging 2017-08-24 21:37:06 +10:00
Peter Barker 2437260f8a Tools: copter horizontal fence test waits for disarm then rearms 2017-08-04 17:44:43 +01:00
Peter Barker dd09bb338e Tools: wait for vehicle to disarm after handling throttle failsafe 2017-08-04 17:44:43 +01:00
Peter Barker 791b1f43e9 Tools: allow heli autotest to use different frame 2017-07-05 17:34:09 +01:00
Peter Barker 59647b3434 Tools: autotest: correct Copter params file handling 2017-07-05 17:29:55 +01:00
Peter Barker 2ddf7f99b5 Tools: autotest: option to run different frame 2017-05-26 16:53:07 +09:00
Peter Barker 817efe9b6d Tools: expect message for EKF readiness rather than sleeping
This solves a problem for me when running Valgrind as
30s was not sufficient
2017-01-26 16:53:13 +11:00
Pierre Kancir bec09b9a57 autotest: python3 support 2016-11-09 11:48:22 -03:00
Pierre Kancir 5786d66ea1 autotest: simplify start_sitl 2016-11-09 11:48:22 -03:00
Randy Mackay 31b5941c45 SITL: revert increase speed of yaw in copter sitl
ACRO_Y_EXPO's default has been set to zero so we need to revert the
change to the yaw input in the SITL autotest
2016-11-07 10:34:33 +09:00
Randy Mackay 964ddfb0d2 SITL: increase speed of yaw in copter sitl
This should resolve the SITL failures caused by the recent change to add
yaw expo to all manual flight modes
2016-10-27 10:44:44 +09:00
Andrew Tridgell fcc89a2577 autotest: fixed RC_CHANNELS_RAW -> RC_CHANNELS 2016-10-14 11:40:23 +11:00
Peter Barker 068c310ed5 Tools: remove hard-coded FRAME global, specify same via parameter 2016-10-10 11:09:47 +11:00
Pierre Kancir 9e1ffcae5d Tools: update python coding style
Tools: update PrintVersion.py coding style

autotest: update python coding style

pysim: update python coding style

jsb_sim: update Python coding style

param_metadata: update Python coding style
2016-09-01 13:05:11 +10:00
Lucas De Marchi f0590581e4 autotest: standardize name of param files
Try to make the various param files to follow similar namings:

    - Lowercase the few ones using uppercase
    - Use dash to separate name components
    - Start with "copter", "plane", "rover", etc instead of the mix we
      had
    - Remove "params" from the filename since it's redundant with the
      extension
2016-08-08 10:12:14 -03:00
Pierre Kancir 19d94737a0 autotest: move all default params to default_params directory 2016-08-03 17:44:37 -03:00
Pierre Kancir 07eb170b39 Autotest: correct mavproxy unloaded map error 2016-08-01 10:37:15 -03:00
priseborough 18c4327a2a autotest: reduce copter test run time
Signed-off-by: priseborough <p_riseborough@live.com.au>
2016-07-19 12:16:50 +10:00
priseborough e0d87bf529 autotest: Increase startup wait time to allow EKF and GPS checks to pass 2016-07-19 12:16:48 +10:00
Peter Barker b23f983459 autotest: add --gdb option to autotest.py 2016-06-27 18:14:55 -03:00
Randy Mackay a7422153cb SITL: disable avoidance so we can trigger fence failsafe 2016-06-22 11:38:15 +09:00
Randy Mackay ed90d00fff SITL: throttle to 50 percent now that hover throttle automatically updates 2016-06-18 11:55:49 +09:00