Commit Graph

56 Commits

Author SHA1 Message Date
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 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
Pierre Kancir 4558ef5b1e Autotest: correct Rover expected name in banner 2018-03-13 07:53:41 +09:00
Peter Barker 75e8424e3f Tools: autotest: add a test for driving a simple RTL mission
In particular, we weren't setting NAV_CONTROLLER_OUTPUT.wp_dist
correctly before a recent commit from Randy
2017-12-09 22:34:07 +11: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
Peter Barker b7a293ca5f Tools: autotest: move fetching of banner and version
Moved these to before log download.

They fail randomly after log download.
2017-11-28 09:47:46 +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
Peter Barker c498f17bc8 Tools: autotest: fix apmrover2 race condition on banner 2017-10-26 17:20:38 +11:00
Peter Barker 163b354448 Tools: autotest: rover: add test for braking 2017-10-26 14:45:19 +11:00
Peter Barker 5a19301606 Tools: autotest: add a test for setting of modes using CMD_DO_SET_MODE 2017-09-19 01:24:11 +01:00
Peter Barker 78a0298af0 Tools: autotest.py: look at EKF flags to determine armability 2017-09-15 15:57:11 +01:00
Peter Barker f0096d3c7a Tools: apmrover2.py: add a test for MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES 2017-08-30 15:54:47 +01:00
Peter Barker 324d9f3c7d Tools: apmrover2.py: add a test for MAV_CMD_DO_GET_BANNER 2017-08-30 15:54:47 +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
Francisco Ferreira 415cb41c7f
Tools: add gdbserver option to Rover autotest
commit 38297c4 missed changing Rover file
2017-08-25 02:38:12 +01:00
Peter Barker cb81f9c8b3 Tools: allow Rover to use inheritted config files 2017-07-05 17:29:55 +01:00
Peter Barker 05ea121d0c Tools: autotest: disarm rover before downloading logs 2017-06-27 03:10:43 +01: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
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
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
Andrew Tridgell 084a37d4fa autotest: enable LOG_REPLAY and LOG_DISARMED in autotest
this will give us the ability to analyse any EKF errors
2016-05-27 21:23:39 +10:00
Peter Barker 3548f90d3a autotest: create SIL object to hold valgrind logpath 2016-05-27 08:07:07 -03:00
Peter Barker 7b86a05722 Tools: convert autotest build.X and fly.X to use waf build system 2016-05-27 08:07:07 -03:00
Peter Barker 8774f15b9a Tools: add valgrind option to autotest.py 2016-04-22 09:42:33 +10:00
Andrew Tridgell 084b607862 autotest: updated string for "Flight plan received" 2015-11-26 12:52:19 +11:00
Grant Morphett e1b608d56d autotest: added arming to the Rover autotesting. 2015-11-11 13:39:39 +11:00
Andrew Tridgell 34689cf949 autotest: cope with mavproxy logging msg changes 2015-06-30 14:06:17 +10:00
Andrew Tridgell fe536a4b89 autotest: use internal copter sim for autotest 2015-05-05 16:56:40 +10:00
Andrew Tridgell 209896afc7 autotest: use builtin rover model for autotest 2015-05-05 16:56:39 +10:00
Andrew Tridgell 9204cab7d5 autotest: fixed rover test 2015-04-30 18:45:38 +10:00
Andrew Tridgell 5f8c05b712 autotest: fixed extraction of defaults 2015-04-20 15:12:51 +10:00
Andrew Tridgell cf15b4d4fc autotest: removed use of --nowait option 2015-03-27 18:03:24 -07:00
Andrew Tridgell 45887a5d28 autotest: run rover and copter with synthetic clock 2015-03-22 18:57:43 -07:00
Andrew Tridgell ccc449db19 autotest: removed the set of SYSID_THISMAV
this led to a race condition where some parameters were not loaded as
they were being sent with the wrong system ID
2014-02-18 15:51:25 +11:00
Andrew Tridgell 6121b9c58e autotest: switched to binary log download over MAVLink 2013-12-28 21:47:12 +11:00
Andrew Tridgell 0c37bcbb10 autotest: don't show console in autotest 2013-09-09 19:55:38 +10:00
Andrew Tridgell 93db4a4a5b autotest: consider lack of symlinks to be a soft error
some people use VMWare shared drives, which don't do hard links
2013-06-24 13:06:54 +10:00
Andrew Tridgell 21436dc1a6 autotest: fixed import of mavwp 2013-06-18 17:02:00 +10:00
Andrew Tridgell 4c9cb461d6 autotest: setup Rover autotest for Sparkfun course
this will make it easier to test around the course
2013-05-17 10:37:11 +10:00