Commit Graph

1992 Commits

Author SHA1 Message Date
Pierre Kancir
bd53796ed4 Tools: copter: add compass calibration testing 2020-06-05 09:38:40 +10:00
Pierre Kancir
2c7fc65fbd Tools: common.py: add generic compass calibration test 2020-06-05 09:38:40 +10:00
Pierre Kancir
b72a17533c Tools: common: add a method to try arming and wait a result 2020-06-05 09:38:40 +10:00
Pierre Kancir
59de90d97f Tools: common.py: make max_delta a paramter for verify_parameter_values 2020-06-05 09:38:40 +10:00
Peter Barker
6490a57179 autotest: move check_logs to be an AutoTest-class function
This makes the AutoTest instance cognizant of the binary log files it is creating.  This will be useful for checking the contents of the log files created.
2020-06-04 20:15:31 +10:00
Peter Barker
d08e9b3363 autotest: --list-subtests works for QuadPlane, Heli and BalanceBot 2020-06-04 10:13:57 +10:00
Peter Barker
6c67ddacf4 autotest: rename set_heartbeat_interval to set_heartbeat_rate 2020-06-04 01:11:28 +10:00
Peter Barker
4e216f976f autotest: assert that Plane doesn't support fence-via-mission-item-protocol
Hopefully this starts to fail at some stage!
2020-06-02 19:00:32 +10:00
Christian Clauss
b07fb05dde autotest: Use ==/!= to compare constant literals (str, bytes, int, float, tuple)
Avoid SyntaxWarnings on Python >= 3.8

% `python3.8`
```
>>> "second" is "second"
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
```
`flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics`
```
./Tools/autotest/arducopter.py:3899:20: F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
                if loop is not "second":
                   ^
./Tools/autotest/arducopter.py:4047:20: F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
                if loop is not "second":
                   ^
2     F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
2
```
2020-06-02 16:25:15 +10:00
Peter Barker
ffaa60b9ed autotest: stop emitting duplicate rangefinder headings
This was only an issue for the Wasp rangefinder block, which drops stuff
in at the top level by specifying the same subgroup name as the top
level.
2020-06-02 09:37:33 +10:00
Rajat Singhal
969a66fa01 Tools: autotest: Add Max RC input test for Rover
Currently disabled since it triggers Arithmetic Exception
2020-05-31 21:11:36 +10:00
Peter Barker
c474edbfbc autotest: attempt to make parameter download more reliable
something is stopping parameters from being fetched.  Give it time to
clear.
2020-05-30 10:11:07 +10:00
Peter Barker
adeb37581f autotest: fix heli for setpoint change 2020-05-29 14:53:12 +10:00
Peter Barker
aaef44858f autotest: add test for Heli stabilize-mode takeoff 2020-05-29 14:25:30 +10:00
Peter Barker
c44b760f3c autotest: explicitly run hello-world test and check for string 2020-05-28 13:49:47 +10:00
Peter Barker
b0916231b2 autotest: add tests for log download 2020-05-26 19:32:49 +10:00
Peter Barker
c8fdf9305b autotest: add test for quadplane stickmixing 2020-05-24 12:17:50 +10:00
Andy Piper
1358e39ffd autotest: test 256 FT windows and fix calculation of log-based FFT
fix quadplane FFT reference calculation
re-enable harmonic test
use median for measuring in-flight FFT average as it's much more reliable
relax quadplane filter restriction
harmonic switching test
tighten frequency check and loop twice to avoid heisenbugs
2020-05-24 07:43:34 +10:00
Peter Barker
605672b631 autotest: round frsky altitude rather than truncate
Closes https://github.com/ArduPilot/ardupilot/issues/14431
2020-05-23 17:40:24 +10:00
Arash Negahdar
a7768aabae Tools: Expose more options to SCRIMMAGE 2020-05-21 08:04:23 +10:00
Peter Barker
1f1383ab64 autotest: add quadplane test for qassist 2020-05-20 18:39:42 +10:00
Peter Barker
f9c86bbfd0 autotest: ensure cached timestamp is up-to-date for run_cmd_get_ack
If a long-running process drains the mavlink stream rather than parsing
it then the cached timestamp can be very, very out-of-date.  When we
next receieve a timestamp, then, there can be a signficant change in
time when we weren't expecting it.

run_cmd_get_ack can't use get_sim_time() as it might swallow the ack it
is looking for.
2020-05-19 19:12:41 +10:00
Peter Barker
b857002158 autotest: drain mav before checking EKF values
May be getting stale values from this function
2020-05-19 19:12:41 +10:00
Peter Barker
d51d6752e5 autotest: drain mav before delay
We're seeing suspiciously low wall-clock delays.
2020-05-19 19:12:41 +10:00
bugobliterator
183e50b31f autotest: fix autotest on mac os x 2020-05-17 16:12:43 +10:00
Peter Barker
c0fae0b1fb autotest: disable GyroFFT test; underlying issue being actively worked on 2020-05-15 16:02:41 +10:00
Peter Barker
dec615bfb5 autotest: drain SITL pexpect when waiting for parameter
This is important when rebooting as the ArduPilot process can block on
sending to stdout, which pexpect is reading from.  While rebooting we're
waiting for a parameter to be reset to a different value in this loop,
which could take quite some time.
2020-05-15 16:02:09 +10:00
Peter Barker
f6b121ad87 autotest: add tests for logging 2020-05-15 16:02:09 +10:00
Andrew Tridgell
8c59eb58bb Tools: added generic copter CMAC mission 2020-05-09 12:33:33 +10:00
Andy Piper
8f864f02fb autotest: 256 windows don't currently work 2020-05-06 10:14:30 +10:00
Andy Piper
db4a612c13 autotest: test 256 FT windows and fix calculation of log-based FFT
fix quadplane FFT reference calculation
re-enable harmonic test
use median for measuring in-flight FFT average as it's much more reliable
relax quadplane filter restriction
2020-05-06 10:14:30 +10:00
Peter Barker
1c7354c321 autotest: improve mount debug 2020-05-05 20:51:23 +10:00
Peter Barker
b312260be3 autotest: add timestamp to progress message 2020-05-05 11:09:43 +10:00
Peter Barker
bd0ebb5778 autotest: accept statustext and ack in any order for mission errors
Accept statustext/ack in any order; statustext may come after ack
2020-05-04 18:42:18 +10:00
Peter Barker
ebc781ba3a autotest: switch to looking for barometer update string for passthrough test
MAVProxy can fetch parameters using FTP rather than normal param
mechanism.  Currently this does not emit any of our statustext
information - like the text we're looking for in this test
2020-05-04 10:07:38 +10:00
Peter Barker
d197fd4acf autotest: fix rare, random failure in GCSRally test
Notionally the statustext could be put aside and we could not have room
for it, so we see the ack first.
2020-05-04 00:22:54 +10:00
Peter Barker
475027e03a Tools: autotest.py: add --enable-math-check-indexes 2020-04-28 15:12:39 +10:00
Peter Barker
cb3c1742e8 Tools: sim_vehicle.py: add --enable-math-check-indexes 2020-04-28 15:12:39 +10:00
Arash Negahdar
7de136121b Tools: Exit cleanly based on the environment
As suggested by Peter Barker
2020-04-28 11:09:51 +10:00
Arash Negahdar
908b63573e Tools: Implement better Scrimmage support 2020-04-28 11:09:51 +10:00
Arash Negahdar
e75ac4ae57 Tools: Allow multiple ArduPilot instances to be spawned 2020-04-28 11:09:51 +10:00
bnsgeyer
bf86059229 Tools: update tradheli sitl default param file 2020-04-28 10:45:33 +10:00
Andy Piper
dd987c9a19 autotest: new harmonic notch test 2020-04-28 09:32:02 +10:00
Peter Barker
864717310d autotest: allow specification of EKF type to use on commandline 2020-04-24 13:37:47 +10:00
Peter Barker
c6cf809041 autotest: correct some parsing-out-of-logging-message 2020-04-22 21:10:55 +10:00
Samuel Tabor
913e5a23fe autotest: Add method to get default params for model. 2020-04-22 10:01:09 +10:00
Peter Barker
39032459d1 autotest: add explicit test for mavlink rangefinder 2020-04-21 20:44:59 +10:00
Mark Whitehorn
0e6ae6c5b4 Tools:autotest: add AAMWestField location 2020-04-20 10:08:17 +09:00
Peter Barker
e63e5ba130 autotest: correct path to defaults file when customising SITL cmdline 2020-04-19 11:09:16 +10:00
Samuel Tabor
e30f0a9173 autotest: Move soaring test into plane. 2020-04-19 11:09:16 +10:00
Peter Barker
52227872d2 autotest: rover: skidsteer: fix defaults file path 2020-04-18 21:51:16 +10:00
Stephen Dade
49d19e1aac Tools: Python3 and kill_tasks fixes for sim_vehicle under Cygwin 2020-04-17 10:32:25 +10:00
Peter Barker
7c20a1ee05 autotest: rename apmrover2.py to rover.py 2020-04-15 19:29:04 +10:00
Peter Barker
efb5ad2f1c autotest: correct checking of downloaded file
First time we've tried to round-trip a mission file with comments it it

New frames used by new mission files need stuff to be ignored
2020-04-15 16:24:40 +10:00
Peter Barker
899b98b2f9 Plane: add test for loading/restoring large missions 2020-04-15 16:24:40 +10:00
Andrew Tridgell
7ad8ea017c autotest: make column ordering in rst gen stable
needed for cache of param builds
2020-04-15 15:11:21 +10:00
Peter Barker
0e40d1cb6b autotest: correct key for Rover -> APMrover2 in skidsteer test 2020-04-14 15:09:17 +10:00
Peter Barker
10e8f3f3d7 autotest: canonicalise on defaults_filepath rather than defaults_file
This naming better represents the fact this isn't just a filename.
2020-04-14 15:09:17 +10:00
Samuel Tabor
c4e255fa5f autotest: Fix key error 2020-04-14 15:09:17 +10:00
Peter Barker
332a19d9dc autotest: sim_vehicle.py: add backwards-compatible APMrover2 option 2020-04-14 09:50:34 +09:00
Peter Barker
2088446ebf Tools: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
691ae58a79 Tools: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Andrew Tridgell
685d26c808 Tools: added --disable-ekf2 and --disable-ekf3 in sim_vehicle.py 2020-04-14 09:15:43 +10:00
Peter Barker
d43fc591c3 autotest: add skidsteer test 2020-04-12 20:34:26 +10:00
Peter Barker
9511fa59ec autotest: permit specification of frame as part of customing cmdline 2020-04-12 20:34:26 +10:00
Peter Barker
e0380fc9be autotest: improve debug information for missing fields 2020-04-12 08:36:48 +10:00
Andrew Tridgell
845755dd3d Tools: removed GPS_POS vars from defaults 2020-04-11 21:14:31 +10:00
Willian Galvani
a1dcb8e3c1 Tools: use html.escape instead of cgi.escape
cgi.escape has been deprecated since Python 3.2
https://docs.python.org/3.5/library/cgi.html#cgi.escape
2020-04-10 15:40:01 +10:00
Randy Mackay
f78d8b009a Tools: enable visual odometry for fly_vision_position test 2020-04-09 19:41:08 +09:00
Pierre Kancir
07435cc541 Tools: correct path for soaring mission 2020-04-09 09:01:03 +10:00
Pierre Kancir
d5aec30a7d Tools: update path for antenna tracker test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir
77ee15bfa1 Tools: finish clean up path 2020-04-09 09:01:03 +10:00
Pierre Kancir
81274018c3 Tools: update path for sub test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir
4eceef1cef Tools: update path for rover test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir
bcd15bc6e4 Tools: update path for plane test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir
24a2bc3b0e Tools: update path for copter test missions files 2020-04-09 09:01:03 +10:00
Pierre Kancir
5b26df5780 Tools: put Mission files into right directories 2020-04-09 09:01:03 +10:00
Peter Barker
2d171d0cb4 autotest: add sanity check for duplicate labels in LogWrite calls 2020-04-08 11:17:41 +10:00
Samuel Tabor
a4c5e12fac Tools: Make soaring test a subclass of plane test. 2020-04-08 09:11:54 +10:00
Samuel Tabor
0df6d74d77 AP_Soaring: Update autotest to use delay_sim_time not wait_seconds. 2020-04-08 09:11:54 +10:00
Samuel Tabor
7168a65155 Autotest: Simplify soaring.py. 2020-04-08 09:11:54 +10:00
Samuel Tabor
528dcc3f6b Autotest: Add test for soaring. 2020-04-08 09:11:54 +10:00
Samuel Tabor
a18d6e925d AP_Soaring: Improved default sim parameters. 2020-04-08 09:11:54 +10:00
Samuel Tabor
5082c9be8b SITL: Add plane-soaring type, including parameters, mission, simulated thermals and glider sim settings. 2020-04-08 09:11:54 +10:00
Peter Barker
5881692e4f autotest: sub: fix altitude-hold for being below target altitude 2020-04-07 14:51:32 +10:00
Peter Barker
52bb7760bc autotest: add debug for COMMAND_LONG commands 2020-04-06 10:07:26 +10:00
Peter Barker
d966f5718d autotest: add option to list subtests 2020-04-03 17:00:22 +11:00
Peter Barker
45ccced4df autotest: add examples to help output 2020-04-03 17:00:22 +11:00
Peter Barker
47e03d4e62 autotest: loosen epsilon on arriving at boundary
We don't always get within 2.5m
2020-04-02 12:56:24 +11:00
Peter Barker
4bab3c083e autotest: sort messages in logger documentation output files 2020-04-02 10:57:40 +11:00
Peter Barker
cbe1dba781 autotest: loosen slowdown constraint on zigzag test 2020-04-02 09:39:27 +11:00
Pierre Kancir
5d299eb584 Tools: add error keyword on param parse for newcomers 2020-04-02 08:11:42 +11:00
Peter Barker
f450df18b0 autotest: allow more time to loiter to ne in precision test 2020-04-01 21:51:22 +11:00
Peter Barker
2fb31e69ea autotest: correct test class map for Helicopter 2020-04-01 11:17:56 +11:00
Peter Barker
9da91b2005 autotest: execute check-logs step for Tracker
... and newly-renamed steps.

Also, eliminate no-longer needed step prefixes as we've canonicalised
them.
2020-03-30 13:34:08 +11:00
Peter Barker
53ced35f9d autotest: correct bytes decoding for Python3 in Logger documentation 2020-03-29 14:44:36 +11:00
Peter Barker
b8dba9886f autotest: Python3 fixes for LTM tests 2020-03-29 10:00:08 +11:00
Pierre Kancir
aec5ae91fa Tools: adjust zigzag timing to pass test 2020-03-27 22:13:52 +11:00
Pierre Kancir
3f441e61cd Tools: copter : make zigzag more verbose 2020-03-27 22:13:52 +11:00
Pierre Kancir
f24f97e51b Tools: sub: update to new wait functions
Signed-off-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
2020-03-27 22:13:52 +11:00
Pierre Kancir
aba594fe2d Tools: copter: update exception for rangefinder test 2020-03-27 22:13:52 +11:00
Pierre Kancir
1689714a5c Tools: copter: add more verbose on fly_guided_change_submode 2020-03-27 22:13:52 +11:00
Pierre Kancir
56298aabda Tools: update arduplane.py wait function parameters 2020-03-27 22:13:52 +11:00
Pierre Kancir
e4eebce5a6 Tools: update arducopter.py to use new wait functions 2020-03-27 22:13:52 +11:00
Pierre Kancir
2d65cbd884 Tools: Common : create generic wait_and_maintain function, upgrade all wait functions to use it 2020-03-27 22:13:52 +11:00
Peter Barker
87d363c3f4 Tools: use renamed autotest step names 2020-03-27 18:20:52 +11:00
Peter Barker
be49396d32 autotest: canonicalise step names (e.g. drive.APMrover2 -> test.Rover)
Map from older step names to newer test names added for
backwards-compatability
2020-03-27 09:29:19 +11:00
Peter Barker
bfc4802b37 autotest: fix sitl reboot 2020-03-25 20:19:25 +11:00
Rishabh
c859287310 Tools: param_metadata: check for duplicate enteries in parameter value field 2020-03-24 10:26:04 +11:00
Peter Barker
6206cbd1fa autotest: add sanity checking for undocumented/overdocumented logger messages 2020-03-22 18:35:14 +11:00
Peter Barker
e671a0912e autotest: logger_metadata: understand , in @LoggerMessage
This means multiple messages use exactly the same meaning in the fields

Also retain ordering of fields
2020-03-21 09:34:43 +11:00
Peter Barker
28c3ba32ae autotest: add test for AP_Logger documentation generation 2020-03-20 13:05:46 +11:00
Peter Barker
60ff6c0b24 autotest: add parser for the logger metadata 2020-03-20 13:05:46 +11:00
Peter Barker
741d3e1435 autotest: make verify_parameter_values more verbose 2020-03-20 13:05:15 +11:00
Peter Barker
30baad35b2 autotest: improve debug on RC override test timeout 2020-03-20 12:19:44 +11:00
Peter Barker
403950f61f autotest: add autotests for CPU failsafe 2020-03-20 12:19:21 +11:00
Peter Hall
32276d9725 Tools: autotest: apmrover2: add more scripts to and enable internal test 2020-03-19 15:28:39 -07:00
Peter Barker
92d2186b95 autotest: don't use self.mav.motors_disarmed_wait as it blocks forever 2020-03-17 16:31:29 +11:00
Andy Piper
718a6593e6 autotest: disable harmonic FFT test 2020-03-13 21:10:56 +11:00
Andy Piper
7c1757bab4 autotest: separate out harmonic matching test
be more forgiving about harmonic fit detection due to imperfect simulation
use the fft length to determine how accurate the frequency match should be
2020-03-13 21:10:56 +11:00
Callan Daniel
f1d6588954 add to locations.txt
Add Highway Airfield (South Africa) to locations.txt
2020-03-13 11:08:33 +11:00
Andy Piper
94ff5d13c0 autotest: limit frequency matching to resolution of the FFT 2020-03-10 15:04:46 +11:00
Peter Barker
5f8b7e990e autotest: make scripts directory relative to CWD
This is where the library is expecting to find the scripts directory.

The existing setup assumes that autotest has been run from the root
directory - that's not always the case.  For example, the autotest
server starts everything one-up from the root directory.
2020-03-09 14:34:02 +11:00
murata
d4d1eac612 Tools: Add Hachinohe mine 2020-03-07 21:07:16 +11:00
Peter Barker
d464db9c70 Tools: create log of build_binaries.py builds 2020-03-07 20:49:36 +11:00
Peter Barker
dc8e1bd4a4 autotest: flake8 fixes 2020-03-07 20:45:26 +11:00
Peter Barker
c7aff4eb11 autotest: fixes for quadplane fft test
recv_match's result is not iterable; it just gives you a single message.

printing the stacktrace when assigning to ex is tradition - we tend to
lose the stack traces otherwise

rebooting sitl is usually required if the context we've just popped had
a reboot in it (usually indicating a reboot-required parameter was set).
So I added a reboot after the context pop.
2020-03-07 20:45:26 +11:00
Andy Piper
de55e4dcc2 autotest: disable harmonic matching test 2020-03-07 20:44:52 +11:00
Andy Piper
eb0923a018 autotest: separate out harmonic matching test 2020-03-07 20:44:52 +11:00
Peter Barker
4c964dd89f autotest: param_parse.py: allow cr to exist on empty lines in prog_param
This should fix parameter building on the Windows CI autotest.

We allow empty lines between @Param blocks and the parameter (and, in
fact, require it before multi-entry @GROUPINFOs like vectors).

The regex wasn't taking into account Windows will have \r\n on that empty
line rather than just \n
2020-03-06 15:40:25 +11:00
Peter Barker
67a3610f54 autotest: correct dangling path separator issue in PYTHONPATH 2020-03-04 19:36:18 +11:00
Peter Barker
c517124c72 Tools: correct path separator in PYTHONPATH 2020-03-04 15:25:14 +11:00
Peter Barker
8deaa36f5a autotest: neaten start of MAVProxy, add debug showing cmdline
Attempting to diagnose failure of MAVProxy to find rline.py on the
autotest server.
2020-03-03 21:40:20 +11:00
Peter Barker
566732a2d7 autotest: tidy setting of PYTHONPATH in the environment
This could go badly for others appending to PYTHONPATH - this would have
left a trailing : on the end of the path
2020-03-03 21:39:56 +11:00
Peter Barker
7038d522b8 autotest: run GetCapabilities test on all vehicles 2020-03-03 09:44:39 +11:00
Peter Barker
3fac5ad52c autotest: loosen gyro fft test to avoid spurious CI failures 2020-03-01 20:51:26 +11:00
Peter Barker
a9f3f9af40 autotest: attempt to fix param-parse crlf issue 2020-03-01 20:50:56 +11:00
Peter Barker
cb8d623624 autotest: add test for fixed yaw calibration 2020-02-29 16:25:30 +11:00
Andy Piper
ee18db36fa autotest: be more lenient on frequency with harmonic matching test 2020-02-25 08:35:09 +11:00
Peter Barker
b3bfc0bd32 autotest: add instant-disarm radio failsafe test 2020-02-24 12:25:42 +11:00
Peter Barker
82f53abee2 autotest: restore fly.ArduCopter as running all tests
the test list for ArduCopter is made up of those from tests1 and tests2
2020-02-22 16:51:39 +11:00
Arash Negahdar
9fb2914209 Tools: Only calculate root_dir and autotest_dir once in sim_vehicle.py 2020-02-22 13:12:42 +11:00
Andy Piper
05a0fe615b Tools: split Copter tests into two runs to balance time on travis 2020-02-22 11:15:37 +11:00
Andy Piper
ba67ad39a0 Tools: quadplane test 2020-02-22 11:15:37 +11:00
Andy Piper
88f0c26636 Tools: add CMSIS DSP module to waf for M4 ChibiOS and control inclusion of FFT based on HAL_WITH_DSP and GYROFFT_ENABLED. target appropriate ARM cpus
sophisticated autotest for Gyro FFT
2020-02-22 11:15:37 +11:00
Pierre Kancir
e1d8148cc0 autotest: Python correctness fixes
Tools: common: correct copy shadowing in set_rc_from_map

Tools: common: comment out unused code

Tools: common: remove iteritem usage for py3

Tools: common: remove duplicate key in FRSkySPort id description for GPS

Tools: rover: correct type shadowing

Tools: rover: make expected_distance_epsilon float

Tools: rover: comment out unused code

Tools: rover: correct variable shadowing on my_message_hook

Tools: copter: correct variable shadowing

Tools: common: use Bool for port.setblocking

Tools: common: fix variable shadowing
2020-02-22 10:37:29 +11:00
Peter Barker
293692cc24 autotest: strip whitespace from parameter attribute values
Attempt to fix \r\n issue on Azure cygwin tests
2020-02-21 19:51:15 +11:00
Peter Barker
c4d282f05b autotest: param_parse.py: whitespace-only line is param block delimiter
Several parameters were missing from the documentation because there was
a line with just trailing whitespace immediately after a parameter
metadata block.

Be more lenient.
2020-02-19 15:09:16 +11:00
Peter Barker
b2d05c9a85 autotest: make download_parameters more robust 2020-02-19 15:09:16 +11:00
Peter Barker
e3e152ae3e autotest: make all-parameter-documentation-working a full autotest 2020-02-19 15:09:16 +11:00