Commit Graph

801 Commits

Author SHA1 Message Date
Joshua Henderson fcb0538fef autotest: common check_mission_items_same loosen z to 1E-3 2022-03-16 18:41:52 +11:00
Andrew Tridgell 6fcf85edb8 autotest: more changes for plane disarm disallow 2022-03-09 17:13:45 +11:00
m 37abfb98dc autotest: Copter Pause/Continue in AUTO and GUIDED modes with SCurves 2022-03-08 13:12:36 +09:00
Peter Barker f2fe55b5da autotest: correct exception handling for Python 3.10 2022-03-07 19:36:05 +11:00
Peter Barker 3fa12152f6 autotest: add tests for high latency control protocol 2022-03-05 11:08:30 +11:00
Peter Barker 850227ffdb autotest: add test for THR_FAILSAFE==2 and throttle output 2022-03-01 10:29:37 +11:00
Peter Barker 122d97ece7 autotest: add comment clarifying what an error actually means 2022-02-28 12:47:57 +11:00
Peter Barker 7bb13e934d autotest: add support for multi-line log formats 2022-02-28 12:47:57 +11:00
Peter Barker e6c1bc2402 autotest: fix MAVFTP test 2022-02-26 10:11:19 +11:00
Peter Barker 69e0e544d1 autotest: loosen constraints on AccelCal test 2022-02-23 18:50:28 +11:00
Peter Barker 50c7576506 autotest: add log download tests for dataflash-over-mavlink
You can't download logs - but we should make sure that the codepaths are
at least crossed
2022-02-20 15:39:24 +11:00
Peter Barker 376d7ade50 autotest: use assert_receive_message to remove redundant code 2022-02-15 11:06:10 +11:00
Peter Barker fdae5f3ccc autotest: correct wait_groundspeed method 2022-02-14 14:07:47 +11:00
Peter Barker a7d3324759 autotest: increase timeout while under Valgrind 2022-02-09 22:20:31 +11:00
Peter Barker e3631aca91 autotest: print distance remaining while waiting for current wp 2022-02-09 19:27:21 +11:00
Peter Barker c12e0fa3af autotest: reset rather than reboot if required on test fail 2022-02-09 17:01:07 +11:00
Peter Barker a81a1fb19f Tools: build ArduPilot against all.xml not ardupilotmega.xml 2022-02-08 11:00:41 +11:00
Willian Galvani 6e91ae554a Tools: use relative paths for parameter files 2022-02-01 17:35:26 +11:00
VMsunghwan 5d29d945e0 autotest : Update receive
recieve -> receive
2022-01-24 18:34:21 +11:00
VMsunghwan 105fc36da5 autotest : correct in typos line 8549 Receving -> Receiving 2022-01-15 13:11:58 +11:00
Peter Barker 427c08db26 autotest: add methods for asserting received mavlink data 2022-01-04 14:37:18 +11:00
Shiv Tyagi 442e783214 Tools: fix DataFlashSITL autotest
Co-Authored-By: Peter Barker <7077857+peterbarker@users.noreply.github.com>
2021-12-25 09:14:31 +11:00
Peter Barker c9cc97edbd autotest: augment estop test with post-reboot component 2021-12-17 09:58:37 +11:00
Peter Barker 474c42f9d3 autotest: move assert_prearm_failure up 2021-12-17 09:58:37 +11:00
Peter Barker 8e3265d1f6 autotest: add a test for dataflash log message rates 2021-12-07 09:39:51 +11:00
Andrew Tridgell 9ee140cbbf Tools: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Peter Barker 66395ce195 autotest: add tests for AVD_F_ALT_MIN 2021-12-04 11:35:13 +11:00
Shiv Tyagi 181eff46ac Tools: fix autotest for devo telemetry
We should pass(skip) the autotest when devo telemetry is compiled out
2021-12-01 19:16:44 +11:00
Iampete1 f52fb3148b Tools: autotest: common and arducopter: use new compass params 2021-11-30 08:14:43 +09:00
Peter Barker 746d9fda8d autotest: add --callgrind option 2021-11-29 20:46:02 +11:00
Peter Barker ad4b934b3c autotest: correct MAVFTP test for autotest server
The autotest server runs autotest.py from a directory one-up from the
ArduPilot root directory, whereas most people run it from the root
directory.  The test wasn't taking that into account, looking for a
directory which doesn't necessarily exist.

Changed to os.listdir() to find a directory to look for in the MAVFTP
output.
2021-11-29 20:44:47 +11:00
Peter Barker b4b267be67 autotest: clarify parameter download test output 2021-11-29 15:10:10 +11:00
Peter Barker 0c0c70d50e autotest: wait a long time for GPS health in HIGH_LATENCY2
We're assuming this is healthy before running the tests.  Most of the time it was, but running under Valgrind it wasn't
2021-11-29 15:10:10 +11:00
Peter Barker 48c6239851 autotest: correct resetting of commandline under Valgrind 2021-11-29 15:10:10 +11:00
Peter Barker 09f06be17e autotest: add an autotest for DO_PAUSE_CONTINUE 2021-11-25 08:18:27 +09:00
Peter Barker a7aa74ab20 autotest: add rangefinder convenience functions, fix wait_alt handling
autotest: add test for rangefinders outside their maxalt
2021-11-23 18:20:58 +11:00
Peter Barker 5025056f4e autotest: fix MSP_DJI test for Py2 2021-11-20 09:37:02 +11:00
Peter Barker b42432ea3e autotest: add trivial test for MSP 2021-11-17 12:06:07 +11:00
Shiv Tyagi 5811a62bc6 Tools: add autotest for DEVO telemetry
This adds an autotest to test if we receive data with devo telemetry correctly.
2021-11-16 11:37:10 +11:00
Peter Barker 75b9a3ff77 autotest: add test for PerfInfo tasks.txt info 2021-11-14 20:43:30 +11:00
Peter Barker 756e45cda2 autotest: add get_stacktrace method 2021-11-11 10:06:47 +11:00
Peter Barker 69d86e6896 autotest: turn draining_mav off when doing early-exit for being quiet 2021-11-11 07:23:09 +11:00
Peter Barker 2dd392ec4b autotest: read pexpects while waiting for sim time
If we do not drain pexpects regularly the ardupilot process can become blocked on terminal IO
2021-11-07 09:59:12 +11:00
Peter Barker bb973ac913 autotest: print content of sitl /proc/PID/status on death
Mysterious death ofi Copter in CI - add more debug
2021-11-06 17:22:52 +11:00
Peter Barker f86b2c1051 autotest: add sanity check that sim time is updating 2021-11-06 17:22:52 +11:00
Peter Barker 99126d3cc7 autotest: add autotest for getting yaw from moving-baseline GPS setup 2021-10-21 08:34:36 +11:00
Peter Barker 2f90abd7ea autotest: raise an exception in the case we don't load a parameters file 2021-10-21 08:34:36 +11:00
Peter Barker 0e6b0cbf35 autotest: add trivial test for MegaSquirt EFI system 2021-10-17 10:00:08 +11:00
Josh Henderson f67a4ec025 Tools: High_Latency2 Test Fix Location Distance Test 2021-10-13 19:40:45 +11:00
Josh Henderson 941cd6ebc2 Tools: arduplane.py add HIGH_LATENCY2 tests and Check Air_Temperature 2021-10-13 19:40:45 +11:00
Peter Barker 5125874681 autotest: add some tests for running multiple GPSs 2021-10-13 18:02:16 +11:00
Peter Barker 265616b582 autotest: tidy use of dump_message_verbose 2021-10-13 18:02:16 +11:00
Peter Barker 7446a28c45 autotest: augment simulated GPS tests 2021-10-13 18:02:16 +11:00
Peter Barker abd5daccbb autotest: augment HIGH_LATENCY2 test with location test 2021-10-05 10:20:44 +11:00
Peter Barker d7f037e548 autotest: add test for setting streamrates from files 2021-09-30 10:31:03 +10:00
Peter Barker b52b381673 Tools: remove mtk GPSs
These are ancient and of very poor quality.
2021-09-29 17:28:59 +10:00
Peter Barker 89c884e8f1 autotest: add test for HIGH_LATENCY2 2021-09-29 15:51:30 +10:00
Peter Barker dd36908ba4 autotest: include SBP file in those that contain log messages 2021-09-28 10:45:51 +10:00
Peter Barker e906cdf1e4 Tools: move SBP logging structures into AP_GPS 2021-09-28 10:45:51 +10:00
Josh Henderson 27bb200644 Tools: add sitl_32bit board type for sim_vehicle & autotests 2021-09-28 09:15:11 +10:00
Peter Barker bc664d77b7 autotest: add trivial test for MAVFTP using MAVProxy 2021-09-27 11:42:47 +10:00
Peter Barker ba5e94ad9a autotest: add load_generic_mission 2021-09-26 17:35:46 +10:00
Peter Barker 6ae280a5d7 autotest: test GPS input using different simulated GPSs 2021-09-25 20:48:41 +10:00
Iampete1 52a805e978 Tools: autotest: update arming swich option number 2021-09-21 09:36:24 +10:00
Peter Barker 0c84c50d70 autotest: exempt HAL_QUADPLANE_ENABLED line in log metadata gen 2021-09-14 13:55:01 +10:00
Peter Barker d7a5e460cc autotest: add tests for changing WPNAV_SPEED_{UP,DN}
and slight augment for WPNAV_SPEED
2021-09-08 21:29:38 +10:00
Peter Barker b9d62e7ff2 autotest: add test for setting multiple messages to same rate 2021-09-02 09:24:11 +10:00
yaapu 17cdb07bd5 Tools:autotest: added test for FRSky PassThrough WIND frame 0x500C 2021-08-25 17:13:16 +10:00
Gone4Dirt fba15f3035 Autotest: Update RPM param. 2021-08-25 09:36:58 +10:00
Peter Barker e263063600 autotest: a gap in the beginning of the SERVO_FTW_MASK is now allowed, test it
make sure the SERVO_FWT_MASK is valid:
  - it can have bit gaps between active channels, but channels higher than 12 are not allowed (AP_EST_TELEM limitation)
  - Explain that the FETtec ESC IDs inside the FETtec Firmware need to be contiguous and start at 1.
add tests for ESC power outages
add test that safety switch zeroes PWM for FETtec ESC
2021-08-13 16:22:37 +10:00
Peter Barker 8fc6e98900 autotest: raise exception for arm/disarm failures on switch/rc
Users were calling these without checking the return values. Make that
a non-issue
2021-08-13 13:40:28 +10:00
Peter Barker 5e81026e78 autotest: add option to hard-reset after every test 2021-08-13 08:01:20 +10:00
Peter Barker cccec5c21c autotest: add test for FRSkyD battery 2021-08-11 15:17:43 +10:00
Peter Barker abb6521127 Revert "autotest: use SIM_STATE (common.xml) instead of SIMSTATE (ardupilotmega.xml)"
This reverts commit 540a56adb8.

Polling this message caused issues on reboot - shouldn't be a problem
but is.

Retrying that showed that the Tracker GUIDED test failed reliably due to
a yaw problem.
2021-08-07 16:18:05 +10:00
Peter Barker 540a56adb8 autotest: use SIM_STATE (common.xml) instead of SIMSTATE (ardupilotmega.xml)
It is a useful superset
2021-08-05 18:35:11 +10:00
Peter Barker 27fcb3a100 autotest: fix simstate error message 2021-08-05 18:35:11 +10:00
Peter Barker ca35d01baa autotest: move upload_simple_relhome_mission up 2021-08-05 10:38:03 +10:00
Josh Henderson 162b3b70cf Autotest: use MAV_POS_TARGET_TYPE_MASK, remove POS_TYPE_MASK_FORCE 2021-08-03 12:48:38 +10:00
Andrew Tridgell e6f15ed6c0 autotest: cope with WriteStreaming() in doc tests 2021-08-03 10:23:36 +10:00
Andrew Tridgell a0da76243d autotest: reboot after AHRS_ORIENTATION test
the EKF can be left very unhappy by this test
2021-07-31 10:01:14 +10:00
Peter Barker 2ae483cee0 autotest: stop uploading artifacts to autotest server
github action's CI is good at this
2021-07-30 11:32:59 +10:00
Peter Barker 7929122f49 autotest: improve AHRS trim test 2021-07-28 17:20:28 +10:00
Peter Barker 909decc5be autotest: move wait_attitude up to common.py 2021-07-28 17:20:28 +10:00
Peter Barker da3ff2c142 autotest: add test for live change of AHRS orientation 2021-07-27 17:28:09 +10:00
Peter Barker 04ddc9de03 autotest: correct order of progress vs action in set-param 2021-07-27 16:51:48 +10:00
Peter Barker e1884bcd6e autotest: run dumpstack/dumpcore on stuck SITL process 2021-07-27 16:51:48 +10:00
Peter Barker eff4bc4cfb autotest: drain pexpects in set_parameters loop
This loop doesn't self.mav.recv(), so the idle loop isn't called, so the
pexpects aren't drained.  That can cause ArduPilot to block on stderr if
it is trying to print a stacktrace, for example
2021-07-21 17:05:17 +10:00
Peter Barker 43a4ea734f autotest: add some diagnostics for missing processes 2021-07-21 15:50:50 +10:00
Peter Barker 571ae46b0f Tools: split yaw-vehicle-for-mount-roi test out 2021-07-19 18:16:13 +10:00
Andrew Tridgell 618fa156c7 autotest: added --replay option to autotest
make for easy creation of EKF replay logs
2021-07-16 21:13:53 +10:00
Peter Barker 743ed05367 autotest: detect ap-*.core as we do core.* files 2021-07-08 15:46:07 +10:00
Andrew Tridgell 3a7075fc65 autotest: fixed config error loop test 2021-07-08 07:56:51 +10:00
Peter Barker c1a5ca6060 autotest: add test to ensure we get a log if arming is forced 2021-07-04 08:54:54 +10:00
Peter Barker 85f36f957d autotest: add force option to arm_vehicle 2021-07-04 08:54:54 +10:00
Peter Barker 4c173e01ef autotest: increase number of parameter retries
sets were failing just after we uploaded very large numbers of
parameters.  I'm guessing the parameter queue in ArduPilot is still
full.
2021-06-24 17:58:31 +10:00
Peter Barker 4bb91d1ec1 autotest: shift where we print which attempt we are doing 2021-06-24 17:58:31 +10:00
Peter Barker b58e7bedaa autotest: correct placement of not-alive-after-test message
This was misplaced with bad conflict resolution
2021-06-24 08:34:06 +10:00
Peter Barker d6f619fb1a autotest: emit 'attempt 1/3' when retrying set_parameter
Also reterm things in terms of attempts rather than retries
2021-06-24 08:30:03 +10:00
Peter Barker 99c7d3aabc autotest: ensure no stray message listeners after test 2021-06-23 21:55:32 +10:00
Peter Barker 6a8ca9e45b autotest: timeout in wallclock time in config error loop test
SYSTEM_TIME is not sent in config error loop
2021-06-23 21:55:32 +10:00
Peter Barker 210818cd6e autotest: let arming failure messages get spit out 2021-06-17 21:01:23 +10:00
Peter Barker cea0d7c971 autotest: move autotest tlog files into buildlogs directory 2021-06-11 22:14:11 +10:00
Peter Barker 14b2af84ab autotest: break out a home_relative_loc_ne for getting a home-rel loc 2021-06-11 16:59:51 +10:00
Peter Barker 96e14d470a autotest: retry SITL connect many times while running under GDB
Allows for easier debugging under gdb when checking startup code
2021-06-11 11:15:58 +10:00
Peter Barker 0b517cfc57 autotest: start GDB in tui mode by default 2021-06-10 20:52:48 +10:00
Peter Barker 79de738266 autotest: wait for a few seconds for arm-failure messages to appear
If prearms never come true then we try to arm the vehicle so it tells us
what is wrong.  Since we no longer push statustexts hard, we have to
wait for the reasons to come out at normal clocked rates.
2021-06-09 14:13:54 +10:00
Peter Barker 6af6d2fc2a autotest: add a progress message for looking for a message in a log 2021-06-09 14:13:31 +10:00
Peter Barker 6944ef6af1 autotest: fly each working Helicopter frame 2021-06-09 12:15:42 +10:00
yaapu b14dcf1df5 Tools:autotest: updated FRSky SPort test to use new 2 byte data IDs 2021-06-02 17:33:15 +10:00
Peter Barker 8925c2830b autotest: check fence upload/download when creating from locs 2021-06-01 15:54:59 +10:00
Peter Barker 3eb164fb6a autotest: move script helper functions from rover to common 2021-05-14 13:21:36 +10:00
Peter Barker 3d562046da autotest: add accuracy option to guided_achieve_heading 2021-05-14 13:21:36 +10:00
Peter Barker 9965f1a31d autotest: add some helpers for local-position movement 2021-05-12 13:01:50 +10:00
Peter Barker 765889b827 autotest: don't send statustext during exception
During an exception we don't want to be trying to print these
2021-05-07 14:21:44 +10:00
Peter Barker f78cf73726 autotest: don't fail completely if ArduPilot process dies 2021-05-07 12:22:11 +10:00
Peter Barker 9a13b5c9b6 autotest: add test for auxfunc triggering via script 2021-05-05 07:13:18 +10:00
Peter Barker 8fdfdebe55 autotest: pass sitl_commandline_customised up the context stack
We're running tests on the Callisto frame when we shouldn't in Copter as
the information was lost in nested Contexts.

We can only reset the SITL commandline at an actual Test level - if a
defaults file has been used then it is unclear as to what the state of
any parameter is in storage as we move between contexts
2021-05-01 17:22:36 +10:00
Peter Barker c7c4c17c68 autotest: improve change_mode debug 2021-05-01 13:25:13 +10:00
Peter Barker fc426e01c2 autotest: stop using start_test for things that aren't actually tests
start_test should only be used for top-level tests, not parts of
top-level tests
2021-04-28 13:53:46 +10:00
Peter Barker 30e8160aa1 autotest: sort logs before moving
Makes it easier to find last log in output.

Also removing pointless lamdaing of some functions
2021-04-21 13:16:24 +10:00
Peter Barker 0ee0228883 autotest: fix flapping fly-home-land-and-disarm
One of the tests just happened to be within acceptance radius of
waypoint 8 - so when we set that as a waypoint we never saw it actually
be our waypoint so the set_waypoint failed
2021-04-20 23:04:24 +10:00
Peter Barker 8643322f06 autotest: correct string we expect from MAVProxy
Was APM: now AP:
2021-04-20 14:08:12 +10:00
Peter Barker c12d1938c2 autotest: add a test for button change for changing modes 2021-04-19 14:27:45 +10:00
Peter Barker dfa342a79f autotest: correct rc-values-good debug 2021-04-03 08:59:14 +11:00
Peter Barker d2c00f7b26 autotest: ensure RC thread is killed after each run_test
Every run_test starts a thread.  del is not being called.  So clean it
up in the caller
2021-04-01 11:00:54 +11:00
Peter Barker ba972b6b46 autotest: fix --map option 2021-03-31 16:30:25 +11:00
Peter Barker e8f96efe72 autotest: wait for stats initialisation before rebooting
If the RTC time we reset parameters (STAT_RESET) is zero then we reset all parameters.

In SITL we only set that time if we see a GPS due to the AP_RTC RTC_TYPES parameter default bitmask value of 1

So if you reboot SITL fast enough while STAT_RESET is zero you can see that STAT_BOOTCNT does not increase. Easily reproducible in SITL; start with -w and type reboot in several times before SITL sees the GPS come up and you can see STAT_BOOTCNT doesn't increase.

Fix is to ensure STAT_RESET is non-zero before rebooting.
2021-03-31 13:33:39 +11:00
Peter Barker 240e2d6b28 autotest: correct pexpect handling of supplementary programs 2021-03-24 23:10:27 +11:00
Peter Barker ae7b21843e autotest: remove useless mavproxy set heartbeat directive
This has never actually worked:

2021-03-24T04:53:03.7594996Z AT-0040.3: Starting MAVProxy
2021-03-24T04:53:03.7595674Z PYTHONPATH: /__w/ardupilot/ardupilot/Tools/mavproxy_modules
2021-03-24T04:53:05.8106006Z Running: "mavproxy.py" "--master" "tcp:127.0.0.1:5762" "--aircraft" "test.ArduCopter" "--sitl=127.0.0.1:5502" "--streamrate=5" "--cmd="set heartbeat 8"" "--target-system=1" "--target-component=1" "--quadcopter" "--default-modules" "misc,terrain,wp,rally,fence,param,arm,mode,rc,cmdlong,output"
2021-03-24T04:53:05.8108569Z ERROR LOADING MAVNATIVE - falling back to python implementation
2021-03-24T04:53:05.8109340Z Connect tcp:127.0.0.1:5762 source_system=255
2021-03-24T04:53:05.8109962Z no script test.ArduCopter/mavinit.scr
2021-03-24T04:53:05.8110739Z Unknown command '"set heartbeat 8"'
2021-03-24 23:10:06 +11:00
Peter Barker 8bf1ac0347 autotest: fix and tidy the log download test
We were requesting past the end of the file
2021-03-24 14:46:48 +11:00
Peter Barker fdbbcaa506 autotest: bump default speedups for several vehicles
These tests seem to run stabley on my box with essentially no speedup
limit
2021-03-24 14:46:48 +11:00
Peter Barker 6f2de67ead autotest: augment delay_sim_time debug 2021-03-24 14:46:48 +11:00
Peter Barker d9501766c7 autotest: augment delay_sim_time debug 2021-03-24 08:57:03 +11:00
Peter Barker 073a9e3390 autotest: fix frsky passthrough test
Mainly through polling much faster, but also allowing for statustexts in
different orders from frsky/statustext
2021-03-22 18:08:44 +11:00
Peter Barker e567cca230 autotest: drain mav before receiving system_time in get_sim_time 2021-03-19 09:46:45 +11:00
Peter Barker 8901efd69d autotest: start and stop MAVProxy for alttype and surface tracking tests
autotest doesn't currently supply terrain tiles, so MAVProxy must be
started
2021-03-19 09:46:45 +11:00
Peter Barker 19e5351631 autotest: start and stop mavproxy for setpoint tests
These work in terrain frame - but autotest won't satisfy terrain
requests yet
2021-03-19 09:46:45 +11:00
Peter Barker 462ac255a3 autotest: start MAVProxy only as needed for testing 2021-03-19 09:46:45 +11:00
Peter Barker 4269cf52a2 autotest: split application of default parameters and defaultfile parameters
ensures all vehicles have LOG_DISARMED
2021-03-19 09:46:45 +11:00
Peter Barker dbee2e5d71 autotest: ignore type=0 heartbeat packets on SITL start
Until ArduCopter allocates its motors backend we emit a generic type,
for which there is no mode map in pymavlink.

So don't consider the reboot complete until we see a valid heartbeat.
2021-03-19 09:46:45 +11:00
yaapu ec15614e11 Tools:autotest: added frsky passthrough autotest for terrain message frame 0x500B 2021-03-18 21:43:48 +11:00
Peter Barker 21c124ab47 autotest: tidy set_parameters
Remove commented code, add more to the verbose option
2021-03-18 11:29:45 +11:00
Peter Barker da52e5d08c autotest: set SYSID_MYGCS in tests which need it
This was still relying on heartbeats coming from MAVProxy.  As speedup
increased those heartbeats may not come fast enough - and they really
should be coming from autotest as that's who's doing the commanding.

autotest: set SYSID_MYGCS in AFS test

autotest: set SYSID_MYGCS before setGCSfailsafe
2021-03-17 16:02:45 +11:00
Peter Barker f7d8994ce1 autotest: move assert_mission_count up, use it 2021-03-17 00:23:05 +11:00
Peter Barker 0c7f3d20a4 autotest: fix attitude test
autotest: add a get_messages_frame method

Attempts to get a set of messages as close as reasonable in time.
2021-03-16 14:19:44 +11:00
Peter Barker 4b3adb806c autotest: add test for tailsitter throttle 2021-03-16 10:41:44 +11:00
yaapu 3bfa07d35a Tools:autotest, frsky passthrough fix for long status text message test 2021-03-13 00:14:27 +11:00
bugobliterator 5074b6d336 autotest: add test case for GPS ordering
also fix flake8 issues
2021-03-12 16:32:36 +09:00
bugobliterator 48277b43e4 Tools: add autotest for checking GPS ordering 2021-03-12 16:32:36 +09:00
Peter Barker f78d7c3b25 autotest: add option to not check current wp after set_current_wp
Sometimes a waypoint is set which we'll never emit as our current
waypoint (e.g. a JUMP)
2021-03-10 09:12:39 +11:00