Commit Graph

554 Commits

Author SHA1 Message Date
Peter Barker 53ce463a90 autotest: add test for statustext coming through via frsky passthrough 2020-01-28 15:16:58 +11:00
Peter Barker e7ca2057ce autotest: improve output from wait_altitude 2020-01-25 14:26:13 +11:00
Peter Barker 375f642759 autotest: fix race condition in test for AFS on Plane
Only showed up when running under Valgrind, this was a simple race condition.
2020-01-19 09:03:54 +11:00
Peter Barker 91b01a3eb2 autotest: fix integer vs float issues for Python3 2020-01-18 12:52:31 +11:00
Peter Barker e568f74580 autotest: correct string-vs-float issue in dataflashovermavlink test 2020-01-18 09:09:18 +11:00
Peter Barker 3d0ede499b autotest: disable parameters test on Tracker until reboot works 2020-01-16 21:19:01 +11:00
Peter Barker f42c42df02 autotest: Python3 fixes for Frsky tests 2020-01-15 22:00:51 +11:00
Peter Barker 9192cb7b41 autotest: add tests for parameter download 2020-01-15 13:54:23 +11:00
Andy Piper d6248ce57a Tools: correct math in frsky passthrough test 2020-01-15 13:53:52 +11:00
Peter Barker 56fb9f8198 autotest: add test for existence of arming log messages 2020-01-14 11:39:36 +11:00
Peter Barker ba13f0bb29 autotest: add test for Frsky SPort 2020-01-13 16:03:12 +11:00
Peter Barker 280a44fc73 autotest: make nmea-output test more reliable 2020-01-13 16:01:23 +11:00
Peter Barker cefd991fb0 autotest: add test for frsky passthrough 2020-01-11 22:43:36 +11:00
Peter Barker 1cfb4e4a49 autotest: test FRSky serial output by taking output via TCP 2020-01-09 12:24:11 +11:00
Peter Barker a919e8fd45 autotest: adjust NMEAOutput test to take into account NMEA GPS update lag 2020-01-05 10:49:17 +11:00
Peter Barker e080493a7c autotest: add test for accelerometer pose calibration 2020-01-01 13:06:28 +11:00
Peter Barker 19c02471cf Tools: autotest: add test for NMEA output 2019-12-23 11:19:59 +11:00
Andy Piper 39e948a40a Tools: add motor vibration test and support for post-test fft
perform FFT analysis on vibration output
2019-12-17 10:07:06 +11:00
Peter Barker 516219533d autotest: prompt MAVProxy to do streamrate stuff after restarting SITL 2019-12-11 19:49:20 +11:00
Peter Barker 91c6a8c1d8 autotest: fix set_streamrate with rate of -1 2019-12-11 19:49:20 +11:00
Peter Barker 5b45931728 autotest: test buttons on Plane and Copter as well as Rover 2019-12-10 09:29:52 +09:00
Andrew Tridgell d7018a2ba0 Tools: switch to https URL for firmware 2019-12-08 07:44:14 +11:00
Peter Barker 96b9c8f59a autotest: wait a long time for RC to restart after restarting SITL binary
May help fix the "no RC" failures we're seeing in CI
2019-12-05 22:41:30 +11:00
Peter Barker 5e4162b997 autotest: unload MAVProxy module log after use 2019-12-04 16:08:15 +11:00
Peter Barker fecca9a559 autotest: add tests for serial RangeFinder drivers 2019-12-03 09:07:09 +11:00
Peter Barker ece59f8233 autotest: replace wait_seconds with delay_sim_time
These did exactly the same thing
2019-11-08 19:49:46 +11:00
Mark Whitehorn 6b9c997a97 Tools: rename SensorConfigErrorLoop test to ConfigErrorLoop 2019-11-08 10:14:34 +11:00
Peter Barker 7dda87fd44 autotest: assert ArduPilot announces compass cal capability 2019-11-05 11:26:23 +11:00
Peter Barker 7842d07b12 autotest: add test for scripting 2019-10-24 13:50:51 +11:00
Peter Barker 8785ff7a14 autotest: make polyfence avoidance test more reliable
Amusingly, at faster speedups the car made a decision to turn North
rather than South which it does when at lower speedups.

Gave it no choice in the matter.
2019-10-15 23:14:31 +11:00
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
Peter Barker 6103d5ebac Tools: autotest: add a simple dataflash-over-mavlink test 2019-03-02 09:28:19 +11:00
Pierre Kancir 4ac5fb42cd Tools: don't upload failed log on ardupilot server by default 2019-03-01 20:48:39 +11:00
Peter Barker 9dad451ef5 Tools: autotest: use start_subtest in arming test 2019-03-01 14:56:05 +11:00
Peter Barker d6674a3bb1 Tools: autotest: correct progress message 2019-02-28 12:53:49 +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 6fc4086726 Tools: autotest: accept home position before or after ack
autopilot may be out of space or time to send home position packet after
we have requested it
2019-02-26 14:01:41 +11:00
Peter Barker 31a9ac7dbd Tools: autotest: add test suite for Tracker 2019-02-26 08:03:56 +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 08fdd5c36c Tools: autotest: strip newline chars for comparing mission files
Windows is different from other OSes so remove the newline characters before comparing lines when making sure mission files are the same
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 a117e4571d Tools: autotest: add simple Rally test 2019-02-20 18:03:38 +11:00
Peter Barker 27d6bebed3 Tools: autotest: add test that ArduPilot indicates it can do PARAM_FLOAT 2019-02-19 13:14:52 +11:00
Peter Barker c0394e9577 Tools: autotest: tidy handling of SITL start position 2019-02-16 19:14:48 +11:00
Peter Barker 025f007f96 Tools: autotest: simplify mission loading 2019-02-16 10:27:41 +11:00
Peter Barker e3368e193d Tools: autotest: add test for throttle failsafe 2019-02-14 11:49:59 +11:00
Mark Whitehorn fd385c0f91 Tools: autotest: add quadplane output_motor_mask check
add comparator arg to wait_servo_channel_value and cleanup
2019-02-13 15:28:47 +11:00
Peter Barker 957f637043 Tools: autotest: add autotest for setting home position with command-int 2019-02-13 09:42:26 +11:00
Peter Barker cf2c0ec334 Tools: autotest: print time taken for each test 2019-02-12 13:30:28 +11:00
Peter Barker edfa2646f0 Tools: autotest: repeatedly apply parameter file 2019-02-09 18:17:00 +11: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 fe2f9f1f14 Tools: autotest: improve autotest output 2019-02-07 08:51:13 +11:00
Peter Barker 4d2d1350c4 Tools: autotest: make changing mode more reliable
There are race conditions between setting mode switches and using
MAVProxy to change mode.  This should remove some of the issues.
2019-02-06 09:32:10 +11:00
Peter Barker d33e5ea012 Tools: autotest: look for mavproxy files in cwd
While correct if you run autotest.py from the root of an ArduPilot git
repo, this is generally not correct.  The autotest server does not have
such a cwd; it runs it from one-directory-up.
2019-02-05 14:14:14 +11:00
Peter Barker 1fcd7fac06 Tools: autotest: add test for flip mode 2019-02-04 11:07:28 +09:00
Peter Barker e23313e16b Tools: autotest: ensure RC input is at defaults before each test 2019-02-04 08:00:07 +11:00
Peter Barker fa37ad344b Tools: autotest: refactor setting of rc defaults 2019-02-04 08:00:07 +11:00
Peter Barker 2834fd8017 Tools: autotest: add test for channel override cancel 2019-02-01 11:48:01 +11:00
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