Commit Graph

696 Commits

Author SHA1 Message Date
Peter Barker
9aefaf5b92 Tools: autotest: add tests for GET_MESSAGE_INTERVAL 2019-01-30 13:56:55 +09:00
Peter Barker
429217f392 Tools: autotest: correct division-by-zero error 2019-01-17 12:30:56 +11:00
Peter Barker
d0aaf34db5 Tools: autotest: add option to skip tests if they're annoying us in CI 2019-01-14 20:15:47 +11:00
Peter Barker
55f751a8f4 Tools: autotest: add some tests for Copter parachute functions 2019-01-09 13:16:03 +11:00
Peter Barker
fe1ac46840 Tools: autotest: correct log Tee'ing 2019-01-04 13:41:36 +11:00
Peter Barker
7cb1051aee Tools: autotest: correct error message for mission upload/download 2019-01-02 20:33:17 +11:00
Peter Barker
e6bfbe5f07 Tools: autotest: fix initial mode switch position race
Solves a race condition where an initial setting of mode via mavlink
could be overwritten by the vehicle polling the RC channels and changing
mode based on the new positions.

This will require each vehicle to specify the mode expected without an
RC inputs present and the expected mode once the RC defaults have been
installed.  These two modes will need to be different to eliminate the
race condition.
2018-12-27 15:15:59 +11:00
Peter Barker
320ea4d7f5 Tools: autotest: remove old run_test function 2018-12-21 11:53:38 +11:00
Peter Barker
3b57635ec9 Tools: autotest: convert Copter to new tests framework 2018-12-18 10:06:09 +11:00
Peter Barker
22cc55a500 Tools: autotest: give message rate in drain 2018-12-18 10:06:09 +11:00
Peter Barker
7ad299c526 Tools: autotest: clarify arming tests messages 2018-12-18 10:06:09 +11:00
Peter Barker
7aa1d51585 Tools: autotest: move balancebot to new tests structure 2018-12-18 10:06:09 +11:00
Peter Barker
1f8db08dab Tools: autotest: show test output filename in summary 2018-12-15 21:39:29 +11:00
Peter Barker
28b0267b6c Tools: autotest: add timeout on Rover test_rc_overrides 2018-12-15 21:38:48 +11:00
Peter Barker
686bfc367e Tools: autotest: tee MAVProxy output to per-test file 2018-12-15 17:11:44 +11:00
Peter Barker
8528bcf78c Tools: autotest: tee individual test output to separate files 2018-12-15 10:02:11 +11:00
Peter Barker
8541a28637 Tools: autotest: support named tests 2018-12-15 10:02:11 +11:00
Peter Barker
dd78a5a921 Tools: autotest: use wallclock time for reboot 2018-12-14 16:57:29 +11:00
Peter Barker
da1f04e78c Tools: autotest: add a test for SYSID_ENFORCE 2018-12-14 12:44:31 +11:00
Peter Barker
e6c30f6405 Tools: autotest: use change_mode in apmrover2 for changing modes 2018-12-14 11:10:41 +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
ec288cd867 Tools: autotest: make reboot detection more reliable 2018-12-14 09:48:17 +11:00
Peter Barker
0d34052cef Tools: autotest: move code up 2018-12-10 12:52:41 +09: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
02993b4ad0 Tools: autotest: delay between transitioning aux switch for arming
... on the theory that we debounce these so it's a good idea to give the
RC library a good look at each value
2018-11-26 17:35:07 +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
Peter Barker
1d2f8555c0 Tools: ardupilotwaf: adjust for new location of uploader.py 2018-11-15 09:55:14 +11:00
Andrew Tridgell
6b5088207b autotest: upload failed CI logs to autotest server 2018-11-10 21:23:02 +11:00
Peter Barker
7600d3205a Tools: correct race condition in interlock check 2018-11-04 21:38:15 +11:00
Peter Barker
4e82250055 Tools: autotest: add test for Copter loiter-to-alt 2018-10-30 17:50:46 +09:00
Peter Barker
a01c915173 Tools: autotest: improve debug in arm-with-radio 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
8985cc05c7 Tools: autotest: raise exception on get_parameter failure 2018-10-23 14:49:44 +11:00
Peter Barker
b8e1d26708 Tools: autotest: reduce dummy streamrate
Given we have trouble with the amount of data flowing around, doubling
this seems somewhat unfortunate.
2018-10-23 10:35:21 +11:00
Willian Galvani
bf1429ead7 Tools: Autotest: Fix ArduSub autotest 2018-10-21 09:01:14 +11:00
Peter Barker
e9d6c47f76 Tools: autotest: correct lamda->lambda 2018-10-19 08:54:56 +11:00
Peter Barker
a66cc52573 Tools: autotest: provide description of exceptions in constructors 2018-10-19 08:52:44 +11:00
Peter Barker
14d2012f54 Tools: autotest: add test for ekf navigation speed limits 2018-10-09 10:47:38 +11:00
Pierre Kancir
53e36931fb Tools: correct channel configuration for gripper test 2018-10-03 20:10:13 +10:00
Pierre Kancir
e087b03dd0 Tools: disable autodisarm test (broken) 2018-10-03 10:11:13 +02:00
Pierre Kancir
15e291aac9 Tools: don't set zero_throttle on arm/disarm 2018-10-03 10:10:25 +02:00
Pierre Kancir
0785706a94 Tools: test that heli interlock output cannot be high when disarmed
Co-authored-by: bnsgeyer <bnsgeyer@aol.com>
2018-10-03 10:09:30 +02:00
Pierre Kancir
752f78c80e Tools: test ARMING_RUDDER restrictions
Co-authored-by: bnsgeyer <bnsgeyer@aol.com>
2018-10-03 10:09:30 +02:00
Pierre Kancir
31d4f1b065 Tools: test that copter cannot arm with throttle too high
Co-authored-by: bnsgeyer <bnsgeyer@aol.com>
2018-10-03 10:09:30 +02:00
Pierre Kancir
553874f14a Tools: add arm/disarm with switch tests
Co-authored-by: bnsgeyer <bnsgeyer@aol.com>
2018-10-03 10:09:28 +02:00
Pierre Kancir
d37a74f46a Tools: fix arm_motors_with_rc_input and disarm_motors_with_rc_input 2018-10-03 17:24:52 +10:00
Pierre Kancir
9b7e406a55 Tools: fix use of unassign variable 2018-10-03 17:19:38 +10:00
Pierre Kancir
55f4be0515 Tools: make do_set_mode function more generic 2018-10-03 16:57:01 +10:00
Pierre Kancir
b80937cbd4 Tools: add timout to arm/disarm functions 2018-10-03 16:57:01 +10: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
Pierre Kancir
d8c53bbd9c Tools: remove dependency on mavproxy for cmd_long based functions 2018-09-07 11:20:03 +10:00
Pierre Kancir
87a7fd0fbb Tools: remove dependency on mavproxy for arming/disarm 2018-09-07 11:20:03 +10:00
Pierre Kancir
e278a09668 Tools: don't use strict comparison for param fetch all to cope with TYPE one's 2018-09-06 15:30:06 +10:00
Peter Barker
5d317a8ef7 Tools: autotest: clear Rover waypoints before toggling them in 2018-09-06 15:29:28 +10:00
Peter Barker
f1a0ebfd10 Tools: autotest: reduce verbosity of wait-for-heading 2018-09-04 10:32:26 +10:00
Peter Barker
5c7e21d38f Tools: autotest: add test for clearing waypoints 2018-09-04 10:32:26 +10:00
Pierre Kancir
36d8ef1971 Tools: auto fetch parameter if in fetch_all list 2018-08-27 21:28:09 +10:00
Pierre Kancir
f6cc934678 Tools: pep8 corrections + correct variable shadowing 2018-08-27 17:08:47 +10:00
Pierre Kancir
7f601db05b Tools: add gripper tests 2018-08-27 14:39:49 +10:00
Peter Barker
a80d27eeff Tools: autotest: fetch parameters after applying parameter file 2018-08-23 11:34:37 +10:00
Pierre Kancir
9c6e75f45b Tools: allow to retry to get parameters before timeout 2018-08-21 21:26:39 +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
6e7e24ac91 Tools: autotest: raise exception, don't return it
Spotted by @khancyr
2018-08-15 10:16:13 +10:00
Peter Barker
e932f873cc Tools: autotest: use component id 250 so we have something different to mavproxy 2018-08-08 08:41:22 +10:00
Peter Barker
81b1270db9 Tools: autotest: use tcp for mavproxy-to-autotest mavlink 2018-08-05 16:07:15 +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
Pierre Kancir
d507805891 Tools: move guided_achieve_heading to common 2018-08-01 16:33:55 +10:00
Pierre Kancir
ef6db4da4a Tools: correct run_cmd 2018-08-01 16:33:07 +10:00
Pierre Kancir
facc254138 Tools: move run_cmd to common 2018-08-01 16:33:04 +10:00
Peter Barker
b8030816b8 Tools: autotest: add tests for mode changes for Copter and Rover 2018-08-01 12:11:30 +09:00
Peter Barker
baf869f8d6 Tools: autotest: add test for autotune 2018-07-31 13:37:43 +09:00
Peter Barker
20c1c4c684 Tools: autotest: add test for guided changing submode after takeoff 2018-07-31 10:40:57 +10:00
Andrew Tridgell
037d7d2e74 autotest: raised timeout on set_rc()
when under load at high speedup the msgs can take a while to get
through
2018-07-28 18:05:12 +10:00
Ebin
9c3b7e7c7d Tools: Autotest for balance bot 2018-07-28 08:44:18 +10:00
Peter Barker
8c44a0d8c8 Tools: autotest: add contexts to ease reverting parameter values 2018-07-27 09:55:25 +10:00
Peter Barker
b47c63c7bd Tools: autotest: wait_ekf_happy checks status bits rather than value
Based on discussions prompted by @khancyr's PR
https://github.com/ArduPilot/ardupilot/pull/8022

Check that we have bits set we want set and that bits we don't want set
aren't set.  In the future we might take these bit sets as parameters.
2018-07-27 09:55:20 +10:00
Pierre Kancir
0af97529ba Tools: common.py : fix empty returned_value variable 2018-07-12 21:13:02 +10:00
Pierre Kancir
065a459df8 Tools: common.py : make some method statics 2018-07-12 21:13:02 +10:00
Pierre Kancir
6c43ab27c1 Tools: remove trailling semilocons 2018-07-12 21:13:02 +10:00
Peter Barker
b23ea9a47b Tools: autotest: fix race condition on parameter values 2018-07-05 11:48:08 +10:00
Peter Barker
38898dc793 Tools: autotest: add test for vision position estimate 2018-06-30 10:11:10 +10:00
Peter Barker
b197d05476 Tools: autotest: allow for return of negative values in parameters 2018-06-29 21:39:59 +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
fd4463de68 Tools: add more information on test failure 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
513865ae4d Tools: autotest: flake8 compliance 2018-05-09 14:23:51 +10:00
Karthik Desai
7a20dd8b73 Tools: autotest: Added a generic run_test.
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
2018-05-09 14:23:40 +10:00
Karthik Desai
b485867db3 Tools: autotest: Check if the mode exists in the dictionary 2018-05-09 14:23:35 +10:00
Karthik Desai
d26c09ccac Tools: autotest: Add and raise exceptions for wait_* helper functions 2018-05-09 14:23:26 +10:00
Peter Barker
5b03835103 Tools: autotest: correct pattern match in get_parameter 2018-04-18 20:31:55 +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
b3c2e134f9 Autotest: raise set_rc timeout to prevent mavproxy to miss msg on speedup 2018-03-13 08:40:05 +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
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
Peter Barker
163b354448 Tools: autotest: rover: add test for braking 2017-10-26 14:45:19 +11:00
Peter Barker
78a0298af0 Tools: autotest.py: look at EKF flags to determine armability 2017-09-15 15:57:11 +01:00
Pierre Kancir
bec09b9a57 autotest: python3 support 2016-11-09 11:48:22 -03:00
Andrew Tridgell
fcc89a2577 autotest: fixed RC_CHANNELS_RAW -> RC_CHANNELS 2016-10-14 11:40:23 +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
Francisco Ferreira
c873524966 autotest: change wait_waypoint mode check
If we change mode while waiting for waypoints then we are no longer running the mission and should fail
2016-05-13 19:05:57 +09:00
Andrew Tridgell
6cf1fd762b autotest: don't show line noise in log download 2016-01-10 17:43:01 +11:00
Andrew Tridgell
7f89f73ad1 autotest: use simulation time for all time delays 2015-04-13 10:08:12 +10:00
Randy Mackay
9e1502e54a SITL: add wait_sim_seconds and get_sim_time 2015-04-08 12:18:18 +09:00
Andrew Tridgell
7f82397467 autotest: ensure we get the BIN flight logs even on mission failure 2014-11-13 16:31:26 +11:00
JD Russo
86baccffbd common.py: Removed timeout reset in wait_altitude
common.py:wait_altitude contained an if statement that, if the plane was changing altitude at all would reset tstart, making the timeout effectively useless. Removing this line allows wait_altitude to respect the timeout the user sets.
2014-08-07 12:40:34 +10:00
Andrew Tridgell
cc1b75ad29 autotest: restore timeout in log download
this removes the debug code now that the issue has been found (it was
an old version of pymavlink causing the problem)
2014-05-09 09:50:22 +10:00
Andrew Tridgell
73dc32108f autotest: try to debug log download timeouts 2014-05-08 17:38:49 +10:00
Andrew Tridgell
b6774b8bc7 autotest: raise the time for log download 2014-05-08 15:15:55 +10:00
Andrew Tridgell
88afd40524 autotest: increase timeout for log download 2014-02-18 21:06:53 +11:00
Andrew Tridgell
b666680d79 autotest: erase logs after downloading 2013-12-29 07:13:57 +11:00
Andrew Tridgell
6121b9c58e autotest: switched to binary log download over MAVLink 2013-12-28 21:47:12 +11:00
Randy Mackay
67c9178cc5 AutoTest: wait 1sec when saving wp 2013-11-02 21:35:00 +09:00
Andrew Tridgell
36cc266626 autotest: fixed wait_pitch() 2013-10-14 10:18:40 +11:00
Andrew Tridgell
8f558609a9 autotest: tweak plane autotest debugging 2013-10-10 09:54:20 +11:00
Randy Mackay
5f1ba85ce4 AutoTest: add copter battery failsafe test 2013-10-03 11:16:38 +09:00
Randy Mackay
c6a99ac24a AutoTest: add support for GPS glitching 2013-09-24 21:41:04 +09:00
Andrew Tridgell
81bb4f26a1 autotest: update plane test with more modes
added tests for FBWB, STABILIZE, CRUISE, ACRO and CIRCLE
2013-07-16 13:23:48 +10:00
Andrew Tridgell
21436dc1a6 autotest: fixed import of mavwp 2013-06-18 17:02:00 +10:00
Andrew Tridgell
da90dfa454 autotest: cope with existing auto mode via mode change 2013-01-14 18:03:51 +11:00
Andrew Tridgell
67afdc7485 autotest: fixes for MAVLink 1.0 in autotest 2012-04-27 15:15:53 +10:00
Andrew Tridgell
8f18d08eb5 autotest: added a lot more interal checking
check each of the sub-tests pass for overall pass
2012-02-14 11:26:42 +11:00
Jason Short
7890b784b2 Added altitude 2012-01-10 23:42:26 -08:00
Jason Short
fa2d84e557 Looking for larger than 255 numbers 2012-01-04 09:51:36 -08:00
Jason Short
5038fcecd8 Added more detail 2011-12-23 14:42:49 -08:00
Andrew Tridgell
42d7bf7fce autotest: added automated landing test for ArduPlane 2011-12-18 17:31:46 +11:00
Jason Short
ced4cf1538 testing updates 2011-12-15 20:51:41 -08:00
Andrew Tridgell
cf7073128d autotest: adapt test suite to new simulation framework 2011-12-02 17:37:55 +11:00
Andrew Tridgell
f30bca01c9 autotest: use idle_hooks to prevent lockup 2011-11-28 13:53:57 +11:00
Andrew Tridgell
c64a5f354e autotest: enable new SITL emulation code
this enables the register level SITL code
2011-11-25 20:00:19 -08:00
Jason Short
f345c4c987 Checking for climb rate 2011-11-19 14:03:08 -08:00
Andrew Tridgell
f737d22026 autotest: added a loop to ArduPlane test 2011-11-18 17:50:12 +11:00
Jason Short
839774fbf3 Added more time for timeouts 2011-11-16 00:22:22 -08:00
Jason Short
0f33ad74dc Had to disable check of current WP. Going into auto mode executes commands right away and the reported index will differ per mission. Multiple commands may be executed. 2011-11-13 22:58:27 -08:00
Andrew Tridgell
be886ef9bc autotest: fixed waypoint wait code
this allows fly.ArduCopter to pass again
2011-11-13 23:50:29 +11:00
Andrew Tridgell
0f00b4c722 autotest: added wait_mode() helper 2011-11-13 23:50:28 +11:00
Andrew Tridgell
1e22945981 autotest: split out some common functions ready for ArduPlane support 2011-11-13 23:50:28 +11:00