Commit Graph

199 Commits

Author SHA1 Message Date
Peter Barker 1f7a3d0e16 autotest: add deepstall test 2019-10-18 09:26:12 +11:00
Peter Barker 1af76bbf60 Tools: autotest: make plane receiver-healthy check more reliable 2019-10-09 10:30:18 +11:00
Peter Barker 92160b454a Tools: autotest: remove switch position assumption from takeoff 2019-09-25 13:42:21 +10:00
Peter Barker 642935fd43 Tools: random Python cleanups based on lgtm analysis 2019-09-21 22:26:03 +10:00
Peter Barker 8736a13a87 Tools: autotest: fix for Plane receiver health test
Won't be healthy until SITL is repolled for RC input
2019-09-17 13:31:06 +10:00
Peter Barker bba019abc2 Tools: autotest: add basic tests for AP_AdvancedFailsafe 2019-09-17 09:13:43 +10:00
Peter Barker 36ba3a6e4c Tools: autotest: add test for follow mode 2019-09-16 12:00:11 +10:00
Peter Barker fba072e5fc Tools: autotest; python3 fixes 2019-08-29 08:43:45 +10:00
Peter Barker 4954c190da Tools: autotest: add test for short failsafe triggering via low-throttle 2019-08-26 19:56:54 +10:00
Andrew Tridgell 6de85c4627 Tools: fixed autotest for throttle failsafe 2019-08-26 17:20:24 +10:00
Peter Barker a8a5ccf51b Tools: autotest: test that long fs triggers even if short fs disabled 2019-08-15 12:07:30 +10:00
Peter Barker bf0a947317 Tools: autotest: improve test diagnostics 2019-08-08 08:35:52 +10:00
Peter Barker 16503f7f25 Tools: autotest: add test for Plane reposition 2019-08-06 12:52:09 +10:00
Peter Barker 12b9928a56 Tools: autotest: break out a load_fence function 2019-08-05 16:37:08 +10:00
Peter Barker 6fc22cd5a3 Tools: autotest: make rangefinder test more reliable 2019-07-23 17:08:02 +10:00
Peter Barker b208b76884 Tools: autotest: add trivial test for receiving COLLISION message 2019-07-16 09:52:54 +10:00
Pierre Kancir 12cb09a3f4 Tools: factorize sitl rangefinder setup 2019-07-11 11:52:44 +10:00
Pierre Kancir daaf769055 Tools: add arm/disarm testing on all modes 2019-07-11 11:42:45 +10:00
Peter Barker 5b5f582307 Tools: autotest: present stack traces on exceptions 2019-07-08 16:51:25 +10:00
Peter Barker dc75f382b8 Tools: autotest: loosen check for wait_circling_point_with_radius
Also add a timeout
2019-06-25 19:59:14 +10:00
Peter Barker fec3dc4f70 Tools: autotest: add tests for Plane AuxSwitch mode changes 2019-06-18 10:48:47 +10:00
Peter Barker 553037c117 Tools: autotest: disable fence when RTLing to home
Otherwise we breach the fence while loitering...
2019-06-14 18:23:27 +10:00
Peter Barker c8a4af76fe Tools: autotest: add tests for Plane fence 2019-06-07 16:29:37 +10:00
Peter Barker 9e8e48c9c6 Tools: autotest: add test for Plane DO_CHANGE_SPEED 2019-05-21 13:06:07 +10:00
Peter Barker d05a4a04c5 Tools: autotest: add autotest for sink-rate triggering 2019-04-30 13:04:02 +10:00
Peter Barker 601504e685 Tools: autotest: ensure RNFD messages emitted 2019-04-09 22:17:58 +10:00
Peter Barker 9a16b40a73 Tools: autotest: rename get_rudder_channel to get_stick_arming_channel
... as some of these aren't actually rudder inputs...
2019-03-27 11:29:53 +11:00
Peter Barker 6bf600c587 Tools: autotest: cope with being unable to reboot while armed 2019-03-19 10:53:37 +11:00
Peter Barker d53f787a14 Tools: factor init up into parent class
Tools: autotest: use speedup 8 for all suites

for reliability
2019-03-13 08:20:20 +11:00
Peter Barker 6418226106 Tools: autotest: increase test diagnostics
Tools: autotest: improve wait_distance_home_gt output

Tools: autotest: emit progress for parameter sets

Tools: autotest: add progress for RC health checks

Tools: autotest: remove pointless context
2019-03-11 11:25:04 +11:00
Peter Barker d48eab893a Tools: autotest: stop swallowing critical messages with get_sim_time() 2019-03-10 21:55:51 +11:00
Peter Barker c464da69f1 Tools: autotest: fix Plane guided test
70 degrees is past LIM_ROLL_CD!
2019-03-10 20:33:38 +11:00
Peter Barker 19f51813f2 Tools: autotest: include mavproxy output in all vehicle test log files 2019-03-08 23:21:27 +11:00
Peter Barker 0efb404ff6 Tools: autotest: add simple test for AIRSPEED_AUTOCAL 2019-03-06 11:32:52 +11:00
Peter Barker 8c35ddc0eb Tools: autotest: add PID_TUNING test 2019-03-05 10:41:56 +11:00
Peter Barker 50687c9add Tools: autotest: ArmFeatures is common to all vehicles; use inheritted tests 2019-02-28 12:53:07 +11:00
Peter Barker e9fc158c8a Tools: autotest: eliminate use of recv_match with condition
We have functions for achieving this

Also, a lot of these places were missing timeouts, so any failure would
cause the entire suite to stop running
2019-02-22 16:30:05 +11:00
Francisco Ferreira b2523021fb Tools: autotest: increase Plane log download timeout 2019-02-22 08:27:08 +11:00
Pierre Kancir 7e12f16be6 Tools: fix lambda test 2019-02-22 08:04:03 +11:00
Peter Barker c0394e9577 Tools: autotest: tidy handling of SITL start position 2019-02-16 19:14:48 +11:00
Peter Barker effeebfeb8 Tools: autotest: skip failing RC test until code is fixed 2019-02-14 11:49:59 +11:00
Peter Barker e3368e193d Tools: autotest: add test for throttle failsafe 2019-02-14 11:49:59 +11:00
Peter Barker a1aefaff27 Tools: autotest: add parachute tests
Tools: autotest: add test for triggering parachute via mavlink

Tools: autotest: add Copter mission test for parachute release

Tools: autotest: add Plane test for parachute deployment in auto
2019-02-13 09:25:27 +09:00
Peter Barker 6f1f98dc3c Tools: autotest: add assumption run_tests is only called once - remove hasInit 2019-02-09 11:31:17 +11:00
Pierre Kancir 8a7555bf56 Tools: autotest: fix up the arming tests
Tools: unify arm function failure message

Tools: get autodisarm time from parameter for autodisarm test

Tools: disable autodisarm for arm/disarm tests.

Tools: fix interlock channel for heli

Tools: simplify arming_test sub exclusion

Tools: fix empty string in progress

Tools: add back arming test to plane

Tools: allow single test run on Sub

Tools: remove old comments on autotest common

Tools: add vehicle type getter function

Tools: make get_rudder_channel abstract method

Tools: common make get_disarm_delay abstract method

Tools: make set_autodisarm_delay abstract method

Tools: rename set_throttle_zero to zero_throttle and use it

Tools: common.py remove unnecessary exception

Tools: subclass vehicle type
2019-02-09 10:04:57 +11:00
Peter Barker fa37ad344b Tools: autotest: refactor setting of rc defaults 2019-02-04 08:00:07 +11:00
Peter Barker 55f751a8f4 Tools: autotest: add some tests for Copter parachute functions 2019-01-09 13:16:03 +11:00
Peter Barker 622549456c Tools: autotest: convert plane over to new tests structure 2018-12-18 10:06:09 +11:00
Peter Barker a320a54f66 Tools: autotest: new wait_heartbeat raises exception if none received 2018-12-14 11:10:41 +11:00
Peter Barker dd88e6e85c Tools: autotest: correct wait_servo_channel_value error path
Also make flaps test a little more verbose
2018-11-29 09:48:31 +11:00
Peter Barker 88a003edd9 Tools: autotest: flake8 compliance 2018-11-24 08:30:02 +11:00
Peter Barker f84370bb04 Tools: autotest: consolidate mission-loading functions
Also add sanity checks for mission loading

Tools: autotest: add missing import for arduplane.py
2018-11-16 10:06:25 +11:00
Andrew Tridgell 6b5088207b autotest: upload failed CI logs to autotest server 2018-11-10 21:23:02 +11:00
Peter Barker dc6a03f5e0 Plane: mission library handles gripper 2018-10-30 15:37:18 +11:00
Peter Barker 2157999307 Tools: autotest: add tests for gripper mission items 2018-10-30 15:37:18 +11:00
Peter Barker a66cc52573 Tools: autotest: provide description of exceptions in constructors 2018-10-19 08:52:44 +11:00
Peter Barker 40ac2e493d Tools: add a test for Plane's SET_ATTITUDE_TARGET support 2018-10-16 13:39:26 +11:00
Peter Barker a7042e3847 Tools: autotest: tweak output messages, loosen camera trigger timeout 2018-09-08 12:56:15 +10:00
Peter Barker 6e44ea13d4 Tools: autotest: do not arm vehicle before flaps test 2018-09-07 23:18:43 +10:00
Peter Barker 56646651c6 Tools: autotest: add test for RCn_OPTION - camera trigger 2018-09-05 13:47:19 +10:00
Peter Barker f47823f4e4 Tools: autotest: add test for RCn_OPTION - toggling relays 2018-09-05 13:47:19 +10:00
Pierre Kancir f6cc934678 Tools: pep8 corrections + correct variable shadowing 2018-08-27 17:08:47 +10:00
Pierre Kancir cc8aca1619 Tools: various fixes for Copter tests
Tools: correct altitude check

Tools: correct tests syntax

Tools: add autotest syntax check on common

Tools: search for syntax mistake on autotest lambda

Tools: put copter in hover trottle to prevent crash

Tools: reboot after baterry failsafe test

Tools: copter takeoff wait_ready_to_arm before arming

Tools: arm copter after land on RTL

Tools: reset copter battery voltage after battery failsafe
2018-08-21 20:41:09 +10:00
Peter Barker 2a174a5dac Tools: add test for Sprayer-on-Rover 2018-08-17 15:33:35 +09:00
Pierre Kancir 2f9f793ccf Tools: add arm and disarm tests 2018-08-15 16:38:20 +10:00
Peter Barker 8e3b69bca0 Tools: autotest: add flaps test 2018-08-15 10:16:13 +10:00
Pierre Kancir a8ea84a729 Tools: autotest: clean function arguments 2018-08-15 10:16:13 +10:00
Peter Barker af37e10126 Tools: autotest: factor out starting of our our mavlink connection 2018-08-04 10:07:22 +10:00
Pierre Kancir a930822d9d Tools: unify exception on os.link 2018-08-03 08:40:33 +10:00
Michael du Breuil 90216f7cb6 Tools: Slow rover test down for CI, remove unneeded variable 2018-08-01 09:19:20 +10:00
Peter Barker 6dd8dbeb40 Tools: autotest: add ability to add breakpoints in autotest 2018-07-27 09:58:15 +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 9de1813ae6 Autotest: Fix a race condition on the regression tests on Windows 2018-03-23 09:13:37 +09: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
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
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
Miguel Arroyo 38297c4d19 Tools: Adds GDBServer with screen option for debugging 2017-08-24 21:37:06 +10:00
Peter Barker 34e611be59 Tools: autotest: wait for plane to disarm 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
Andrew Tridgell 3489f7b576 autotest: use builtin plane sim for autotest
and simplify startup using defaults file
2016-07-22 16:42:46 +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
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