Commit Graph

324 Commits

Author SHA1 Message Date
Peter Barker
d2cf0939a5 autotest: drain mav before attempting disarm
If the queue of messages for us to parse is very long then we can time
out before managing to parse them all and find the disarm!
2019-10-15 15:26:10 +09:00
Peter Barker
03c68f991c autotest: raise exception if no simulated time available
Sucking the mavlink message queue dry unexpectedly is worse than any
tests being broken and failing with a clear error.
2019-10-15 15:26:10 +09:00
Peter Barker
6e88982b39 autotest: fix mission-load dedupe issue
There are other ways we can receive Flight Plan received now, and
MAVProxy's statustext dedupe stuff was biting us
2019-10-15 14:03:28 +11:00
Andrew Tridgell
3f9999d932 autotest: fixed MISSION_ITEM_INT receive to be reliable
use a condition in recv_match() to ensure we don't mix up msgs from
other protocols
2019-10-09 19:56:51 +11:00
Peter Barker
23983d03b5 Tools: autotest: correct get_distance_int 2019-10-05 06:53:52 +10:00
Peter Barker
be8632668b autotest: make dataflash-over-mavlink test more accomodating
Saw <100kB/s on autotest server, so can't look for minimum 100kB/s.

Also fixed disarmed-at-end-of-test
2019-10-04 10:38:32 +10:00
Peter Barker
c5f52a8355 Tools: autotest: tests for new fence code
Tools: autotest: move clear_mission up, use it before running each test

Also have it understand MAV_MISSION_TYPE_ALL

Tools: autotest: add tests for polyfence

Tools: autotest: add tests for multiple inclusion polyfences

Tools: autotest: ensure we can't arm inside a circle exclusion zone

Tools: autotest: add test for arming outside an inclusion zone

Tools: autotest: add tests for upload timeout

Tools: autotest: add tests for not arming due to polygon zones

Tools: autotest: add test for fence point reboot survivability

Tools: autotest: add test for moving fence point

Tools: autotest: add some tests via MAVProxy

Tools: autotest: add test for avoiding polygonal exclusion zones

Tools: autotest: add test for object avoidance

Currently disabled as it doesn't pass where it seemingly should.

Tools: autotest: skip MAVProxy tests on older MAVProxy versions

Tools: autotest: adjust fence loading for lack of string back from MAVProxy

Tools: autotest: create a do_RTL function

Tools: autotest: cope with loading QGC-style fence files

Tools: autotest: add test for object-avoidance in guided mode

Tools: autotest: add OA test for auto mode

Tools: autotest: add test for bendy ruler in guided mode

Tools: autotest: adjust for new MAVProxy fence module not emitting old strings

Tools: autotest: add tests for prearming due to bad parameter values
2019-09-28 07:58:48 +09:00
Peter Barker
2e2bbf57bf Tools: autotest: add disarm_wait function 2019-09-26 15:19:10 +10:00
Andy Piper
5f34ec6578 Tools: support lldb debugging for sim_vehicle and autotest 2019-09-26 09:02:11 +10:00
Peter Barker
b97b41a6e8 Tools: autotest: allow tracker to be armed between tests 2019-09-25 14:57:02 +10:00
Peter Barker
4c40640238 Tools: autotest: tidy handling of armed-at-end-of-test handling 2019-09-25 14:57:02 +10:00
Peter Barker
f27b8a6c02 Tools: autotest: test for vehicle armed after test passes
postcondition of any test is that it leaves the vehicle disarmed
2019-09-24 20:00:07 +10:00
Peter Barker
642935fd43 Tools: random Python cleanups based on lgtm analysis 2019-09-21 22:26:03 +10:00
Peter Barker
f3eaf9ee6e Tools: autotest: more coverage out of the dataflash-over-mavlink tests 2019-09-19 08:46:55 +10:00
Peter Barker
1f25b6e406 Tools: autotest: add test for SITL implementation of Block backend 2019-09-18 17:42:18 +10:00
Ebin
38c9763d48 Autotest: GPS disable test skipped when AHRS_EKF_TYPE is 10 2019-09-18 07:07:08 +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
4a35e8ee74 Tools: autotest: skip MIS_TOTAL parameter test on Tracker
This is CMD_TOTAL not MIS_TOTAL, and doesn't have facility for flags.
2019-09-14 09:26:11 +10:00
Peter Barker
da2e00dd6f Tools: autotest: fix race conditions in arm_vehicle and disarm_vehicle 2019-09-09 11:06:07 +10:00
Peter Barker
ba3f95ad20 Tools: autotest: add timeout parameter to detect_and_handle_reboot 2019-09-07 17:19:22 +10:00
Peter Barker
108f37c67c Tools: autotest: ensure we can set parameters in groups with internal flag set 2019-08-30 06:57:30 +10:00
Peter Barker
cce85cb418 Tools: autotest: add test for inability to set MIS_TOTAL 2019-08-22 09:23:56 +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
b61bfd663f Tools: autotest: wait for EKF to be happy after returning its GPS 2019-08-12 13:12:11 +10:00
Peter Barker
bf0a947317 Tools: autotest: improve test diagnostics 2019-08-08 08:35:52 +10:00
Peter Barker
4b331419e3 Tools: autotest: improve mission download diagnostics 2019-08-07 14:15:47 +10:00
Peter Barker
9aa5cedd2a Tools: autotest: increase timeout on mission_item_int
We may spend so much time parsing messages this deadline passes
2019-08-07 12:29:14 +10:00
Peter Barker
05a48928f8 Tools: autotest: assume Tracker has AP_Stats 2019-08-07 07:57:46 +09:00
Peter Barker
f896af6800 Tools: autotest: increase timeout waiting for MISSION_COUNT 2019-08-06 18:15:26 +10:00
Peter Barker
acf6cb8d75 Tools: autotest: rename clear_mission to clear_mission_using_mavproxy 2019-08-06 17:05:57 +10:00
Peter Barker
12b9928a56 Tools: autotest: break out a load_fence function 2019-08-05 16:37:08 +10:00
Peter Barker
1fbd41e6f3 Tools: autotest: add test for Rover SmartRTL 2019-07-23 19:00:38 +10:00
Pierre Kancir
666e7b88d7 Tools: common: dynamicly load and unload log module as needed 2019-07-16 18:58:54 +10:00
Pierre Kancir
b655197c95 Tools: common: unload dataflash_logger module after use 2019-07-16 18:58:54 +10:00
Pierre Kancir
98d897e790 Tools: common: implement do_set_relay and do_set_relay_mavproxy 2019-07-16 18:58:54 +10:00
Peter Barker
bd50f288a1 Tools: autotest: get mavproxy to heartbeat at speedup rate
This should resolve a race condition we have with guided position modes.

MAVProxy's heartbeat rate defaults to 1Hz.

When GCS failsafe is active on Copter because we're in GUIDED (or
GUIDED_NOGPS mode) we require a heartbeat every 5 seconds.  At speedup
8, we can only expect a heartbeat every 8 seconds of sim time.

We also only check for this heartbeat every 3 seconds - leading to this
awesome race condition.
2019-07-12 12:48:05 +10:00
Peter Barker
87e43d6e44 Tools: autotest: add option to disable breakpoints at sim startup 2019-07-12 12:48:05 +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
Pierre Kancir
9850d1afec Tools: update with flake8
W605 invalid escape sequence '\s'
F402 import 'time' from line 10 shadowed by loop variable
E101 indentation contains mixed spaces and tabs
E703 statement ends with a semicolon
2019-07-09 12:46:39 +10:00
Peter Barker
899db3d3ac Tools: autotest: add test for sensor config error loop
Tools: autotest: exempt failing vehicles from SensorConfigError test
2019-07-09 10:01:23 +10:00
Peter Barker
6332d2e729 Tools: autotest: fix race condition with getting parameters 2019-07-08 16:51:25 +10:00
SergeyBokhantsev
c9447776b2 Tools: autotest: correct debounce tests under Rover
Channel 8 is the mode channel under Rover
2019-07-04 11:35:05 +10:00
Peter Barker
98cb68157f Tools: autotest: add a test for Copter surface tracking 2019-06-21 13:50:55 +10:00
Peter Barker
5992cc8782 Tools: autotest: clear mission between tests 2019-06-20 11:51:13 +10:00
Peter Barker
d8278335a1 Tools: autotest: move upload_using_mission_protocol up to common.py 2019-06-07 16:29:37 +10:00
Peter Barker
c8a4af76fe Tools: autotest: add tests for Plane fence 2019-06-07 16:29:37 +10:00
Peter Barker
6047ef105e Tools: autotest: correct text MAVProxy-dedupe check in mission load
This failed to protect against multiple rapid calls to load_mission
2019-06-06 10:33:28 +10:00
Peter Barker
e9552ec4e1 Tools: autotest: more efficient set_rc_from_map 2019-06-02 10:02:24 +10:00
Peter Barker
3ed55ea3c5 Tools: autotest: add drain_mav_unparsed and use it 2019-05-28 20:41:56 +10:00
Peter Barker
8d90b09829 Tools: autotest: add tests for upload/download rally using mission protocol
Tools: autotest: add tests for mission clearing

Tools: autotest: add tests for out-of-range mission counts

Tools: autotest: add test for Plane DO_CHANGE_SPEED
2019-05-22 08:53:45 +10:00
Francisco Ferreira
4f153f06b3
Tools: autotest: increase timeout for arming param check 2019-05-15 22:44:22 +01:00
Francisco Ferreira
e95d603a73
Tools: autotest: parse all heartbeats when looking for mode change 2019-05-15 22:44:22 +01:00
Peter Barker
d76894d883 Tools: autotest: drain mav before getting message rates, improve debug 2019-05-09 19:53:53 +10:00
Peter Barker
a2105e1f81 Tools: autotest: correct statustext sending under Python3 2019-05-02 13:15:37 +10:00
Peter Barker
18391d8a9a Tools: autotest: produce stacktraces under Python3 2019-05-02 13:15:37 +10:00
Peter Barker
4a237af093 Tools: autotest: ensure reboot if dataflash-over-mavlink test fails
Will stop cascading failures from occuring
2019-04-30 19:19:58 +10:00
Peter Barker
0cd5d66e3a Tools: autotest: increase epsilon
our round-trips etc cost precision
2019-04-23 10:06:17 +10:00
Peter Barker
2cb69366c8 Tools: autotest: facilitate changing mode by number 2019-04-19 07:51:49 +09:00
Peter Barker
5e69758661 Tools: autotest: factor out a start_mavproxy method 2019-04-16 21:10:22 +10:00
Peter Barker
b2acd15a55 Tools: autotest: encode string to bytes before passing to statustext_send 2019-04-15 18:40:01 +10:00
Peter Barker
b7eca63073 Tools: autotest: send statustext with test name to autopilot
This gets logged into the dataflash so you can quickly find relevant
logs
2019-04-14 07:56:39 +10:00
Peter Barker
696de42eea Tools: autotest: check we're seeing PL messages in the log during
precland
2019-04-04 11:54:58 +11:00
Peter Barker
4eaee039f0 Tools: autotest: avoid touch RC*_OPTION on sub 2019-03-30 12:01:49 +11:00
Peter Barker
6f52fa5622 Tools: autotest: do not set ARMING_RUDDER on sub and tracker 2019-03-29 19:07:18 +11:00
Peter Barker
ffccd6f263 Tools: autotest: stop using mav.location() for Tracker test
Turns out that since we don't stream vfr_hud mav.location won't ever
work
2019-03-29 07:40:45 +11: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
265d8d62cd Tools: autotest: add timeout to wait_ekf_flags waiting for EKF_STATUS_REPORT 2019-03-26 20:55:32 +11:00
Peter Barker
6fe7db2f43 Tools: autotest: add test for REQUEST_MESSAGE 2019-03-26 16:20:50 +11:00
Peter Barker
c6b8335392 Tools: autotest: improve debug for lack of mode map 2019-03-25 16:57:41 +11:00
Peter Barker
16476332b2 Tools: autotest: fix no-gps switch-to-location test 2019-03-22 08:19:42 +11:00
Peter Barker
1e2cf4bb60 Tools: autotest: fix sethome test under Python3 2019-03-22 08:19:11 +11:00
Peter Barker
935840ebb0 Tools: autotest: add test for setting home to current location 2019-03-19 19:56:13 +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
873096f791 Tools: autotest: add test for Rover offboard-in-auto function 2019-03-15 14:51:35 +09:00
Peter Barker
9ca2c9d692 Tools: autotest: python3 fixes
Tools: autotest: use inbuilt zip on Python3
2019-03-13 20:26:24 +11:00
Peter Barker
841c222a12 Tools: autotest: add check that GPS is good before arming 2019-03-13 17:13:10 +11:00
Peter Barker
0aeb6c0e26 Tools: autotest: ensure initial home position is similar to sitl start pos 2019-03-13 13:20:29 +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
844999c458 Tools: autotest: get accuracy before doing RTL
It can take a very long time to get our parameter value, so get it while
we're NOT moving away from the RTL location!
2019-03-13 08:20:20 +11:00
Peter Barker
65d0443c26 Tools: autotest: drain mav either side of initialising-after-reboot 2019-03-12 12:15:39 +11:00
Peter Barker
f71f100d6a Tools: autotest: make drain_mav truly drain the mavlink connection 2019-03-12 12:15:39 +11:00
Peter Barker
b47b97a981 Tools: autotest: add test for QuadPlane controller pre-arm checks 2019-03-12 10:14:14 +11:00
Peter Barker
28e27b4120 Tools: autotest: improve test reliability
Also remove redundant reset code

Tools: autotest: drain mav and all pexexpects before running each test

Tools: autotest: increase some timeouts for failures when running under GDB

Tools: autotest: correct ordering of operations in mount test
2019-03-11 13:59:51 +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
2ef24e700e Tools: autotest: correct gripper tests
set_rc swallows messages - like the statustext messages we are looking
for
2019-03-11 10:46:57 +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
38e26757fd Tools: autotest: add option to quieten some functions
Useful when you know the output is not going to be useful
2019-03-10 21:55:51 +11:00
Peter Barker
a504f9ac8d Tools: autotest: add option to use cached home for distance_to_home 2019-03-09 12:44:06 +11:00
Peter Barker
4d3ca97a0f Tools: autotest: correct pre-arm flags-OK checks 2019-03-08 23:22:22 +11:00
Peter Barker
194142b343 Tools: autotest: add simple test for fence prearms 2019-03-08 08:57:27 +09:00
Peter Barker
f2e3d377ad Tools: autotest: drain mav during RTL test to improve reliability 2019-03-07 14:22:09 +11:00
Peter Barker
91436c5314 Tools: autotest: add test for high-throttle-at-mode-change 2019-03-07 11:33:20 +11:00
Peter Barker
b1bbe09602 Tools: autotest: increase timeout on pid tuning 2019-03-07 00:15:05 +11:00
Peter Barker
f23c6e1624 Tools: autotest: better streamrate reset 2019-03-06 21:25:16 +11:00
Peter Barker
b4af1dae0f Tools: autotest: skip rudder disarm for balancebot 2019-03-06 10:45:56 +11:00
Peter Barker
5f315aab59 Tools: autotest: fix infinite hang in wait_statustext 2019-03-06 10:45:56 +11:00
Peter Barker
8c35ddc0eb Tools: autotest: add PID_TUNING test 2019-03-05 10:41:56 +11:00
Peter Barker
792fbc6240 Tools: autotest: allow imprecise home in set-home test
float<->integer conversion issues means this comes back imprecisely
2019-03-04 23:46:40 +11:00