Commit Graph

185 Commits

Author SHA1 Message Date
Peter Barker b93e1d471f autotest: add test for Rover MAV_CMD_NAV_RETURN_TO_LAUNCH 2023-08-23 21:29:00 +10:00
Peter Barker 6a6a0b36c9 autotest: add test for Rover reversing in guided 2023-08-23 16:12:21 +10:00
Peter Barker c80ef940fd autotest: add tests for RELAY_STATUS message 2023-08-09 07:44:07 +10:00
Peter Barker bde43f167e autotest: use named parameters for send_cmd and run_cmd 2023-07-16 10:23:20 +10:00
Peter Barker 28da57f940 autotest: correct duplicate-test-name problems 2023-06-02 22:58:40 +10:00
bugobliterator dc8deec351 autotest: add support for testing mavlink in lua 2023-05-24 19:03:28 +10:00
Peter Barker b90166ab97 Tools: use methods to determine port numbers 2023-05-18 07:53:43 +10:00
bugobliterator fcb622c610 autotest: add test for lua modules 2023-04-28 12:36:08 +10:00
Peter Barker 2271827c9d autotest: add tests for compass prearms 2023-04-19 14:25:06 +10:00
Peter Barker 5cc046b9cc Tools: AP_Arming ensures mission items present when in auto mode
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-04-14 07:49:54 +10:00
Peter Barker 3863183996 autotest: give Rover longer to arrive home
vagaries of interaction with Python script means we need to give this more time when running balancebot
2023-04-11 00:25:53 +10:00
Peter Barker 9f2aef4c97 autotest: allow other prearm failures while waiting for estop prearm
accels inconsistent was popping up in here.

We can ignore that - we only care we won't arm because of the estop being active.  This will also save a bit of time with the removal of the raw delay-for-10-seconds
2023-04-09 20:48:34 +10:00
Pierre Kancir fa2c7113c9 Tools: enable back DriveMaxRCIN test as rover sitl gsf issue is solved 2023-03-15 19:31:26 +11:00
Randy Mackay bfa15133c7 Tools: autotest fixes for rover
fixes camera mission, set-message-interval, request-message,
SendToComponents
2023-03-01 18:18:51 +11:00
Peter Barker b287476cc6 Tools: autotest: add a test for Rover's INITIAL_MODE 2023-02-26 16:41:32 +11:00
Pierre Kancir 468356d513 Tools: rover: implement test_gcs_failsafe 2023-02-24 09:41:17 -08:00
Peter Barker 31de6fd0b5 autotest: tidy LUA scripting internal tests 2023-02-17 12:54:49 +11:00
Peter Barker 69b8e30f28 autotest: rename remove_example_script to remove_installed_script 2023-02-17 12:54:49 +11:00
Peter Barker 306d8360fb autotest: tidy scripting examples test 2023-02-17 12:54:49 +11:00
Peter Barker f5320f1691 autotest: rover: remove pointless try/except block 2023-01-05 07:29:44 +11:00
Peter Barker dcf41f2396 autotest: add additional tests for private channels 2022-11-29 10:32:02 +11:00
Peter Barker d1cff53ba1 autotest: add test for mavlink private-channel 2022-11-29 10:32:02 +11:00
Peter Barker 8777d68ac1 autotest: drain self.mav while waiting on other link
In the short period of time it takes for us to get organised/draining mavlink connections, the ArduPilot process might block writing to the primary mavlink connection - in which case we'll never get the message we requested.

Should solve

2022-08-31T23:17:43.6904119Z AT-0227.6: waiting for a message - any message....
2022-08-31T23:17:43.6904958Z AT-0227.6: Received (ATTITUDE {time_boot_ms : 3146, roll : 0.00013471684360411018, pitch : -4.076504410477355e-05, yaw : -2.1274349689483643, rollspeed : 6.679168291157112e-05, pitchspeed : 3.297374496469274e-05, yawspeed : 9.125166684498254e-07})
2022-08-31T23:17:43.6905505Z AT-0227.6: Waiting for mission count of (3) from (1:1) to (243:250)
2022-08-31T23:17:43.6905909Z AT-0227.6: Asserted mission count (type=2) is 3 after 0.100000s
2022-08-31T23:17:43.6906252Z AT-0227.6: Get first item on new link
2022-08-31T23:17:43.6906620Z AT-0289.2: Received exception (Did not receive MISSION_ITEM_INT
2022-08-31T23:17:43.6907047Z Traceback (most recent call last):
2022-08-31T23:17:43.6907386Z   File "/__w/ardupilot/ardupilot/Tools/autotest/rover.py", line 3067, in test_rally
2022-08-31T23:17:43.6907719Z     m2 = self.get_mission_item_int_on_link(
2022-08-31T23:17:43.6908080Z   File "/__w/ardupilot/ardupilot/Tools/autotest/rover.py", line 2288, in get_mission_item_int_on_link
2022-08-31T23:17:43.6908469Z     raise NotAchievedException("Did not receive MISSION_ITEM_INT")
2022-08-31T23:17:43.6908841Z common.NotAchievedException: Did not receive MISSION_ITEM_INT
2022-08-31T23:17:43.6909118Z )
2022-08-31T23:17:43.6909468Z AT-0289.2: Exception caught: Did not receive MISSION_ITEM_INT
2022-11-09 09:17:08 +11:00
Shiv Tyagi c6b2ab427f autotest: loosen constraints on docking test 2022-10-02 19:18:23 +11:00
Peter Barker bd364b6169 autotest: specify baudrate for NMEA GPS for testing 2022-09-28 20:53:34 +10:00
Shiv Tyagi a4c88ab2c0 autotest: use guided mode to move Rover away for Dock test 2022-09-19 17:51:48 +10:00
Peter Barker b5be0dcd14 autotest: correct reboot in failure case for dock mode test
reboot will fail if we are still armed
2022-09-19 09:29:04 +10:00
Peter Barker d4587e787e autotest: add a drive_to_location for Rover 2022-09-19 09:28:39 +10:00
Peter Barker ba6cf1a42b autotest: remove disabled LogUpload test
This has been unused for a long time, and is getting in the way of reforms.  Its position as a test rather than as a part of a framework was always going to cause oddities, particularly after we split the Copter tests into several chunks.
2022-09-11 20:45:13 +10:00
Peter Barker 80c36ecc97 autotest: use reflection to collect test details
We had a pattern emerging of using the test name as the method name to contain the actual test.  We also tended to duplicate the docstrings in the test description - or omit the docstring.

This uses reflection to retrieve both the test name and the description, meaning less duplication of this information and enforcing having docstrings on the test methods.
2022-09-10 18:27:27 +10:00
Shiv Tyagi 6393ef6b8e Tools: fix Rover AutoDock test 2022-09-09 19:12:30 +10:00
Shiv Tyagi 24cff5f9b1 Tools: add autotest to test docking on rover 2022-09-06 11:23:51 +09:00
Randy Mackay c898261698 Tools: autotest uses PRX1 parameters 2022-08-24 18:26:27 +10:00
Peter Barker f8c1c3309d autotest: allow more time for Rover to go to smartrtl intermediate point
race conditions with commands from autotest suite
2022-08-22 09:54:09 +10:00
Peter Barker cd207164a2 autotest: correct Rover DriveMission test
4 would seem to have been just a magic number and could be missed on faster speedups
2022-08-19 17:04:54 +10:00
Peter Barker add5243634 autotest: Rover: ensure we actually stop at rally point 2022-08-14 07:52:42 +10:00
Peter Barker 8fd5df33d5 autotest: add test for stick-mixing in auto mode 2022-08-11 20:03:12 -04:00
Peter Barker 515b79a6ca autotest: remove un-needed calls to drain_mav_unparsed
these calls are generally bad now, given we have context_collect things going on which always want to see messages coming in
2022-07-20 15:17:25 +10:00
Peter Barker a672c7df97 autotest: add test for changing modes by mode number
Useful for when you don't have a mapping entry for the mode number yet
2022-07-12 08:51:21 +10:00
Peter Barker 043764fbf9 autotest: use set_parameters in rover; fixup tests to use context 2022-06-30 11:55:19 +10:00
Peter Barker ef0f5110cb autotest: set Rover speedup to 30
This is closer to what's achieved on modern CPUs.

Running at 100 can lead to very rapid RC inputs which can cause issues.
2022-06-29 21:02:27 +10:00
Peter Barker 4a015bd479 autotest: fix race condition in mission-end-behaviour test 2022-06-16 21:24:31 +10:00
Peter Barker 57b0d7f235 autotest: change rover default speedup time to 100 2022-06-16 21:24:31 +10:00
Pierre Kancir 4e2e4fa4d4 Tools: autotest: remove useless shebang 2022-06-08 08:16:42 +09:00
Peter Barker 876cc77808 autotest: fix Rover syntax for Python2
Apparently ** is Python3-only
2022-04-24 14:21:45 +09:00
Peter Barker 1340132f6f autotest: add rangefinder test 2022-04-19 10:26:10 +10:00
Randy Mackay b6af126514 Tools: relax rover sprayer test
vehicle's speed is slightly lower when using SCurve navigation
2022-03-30 15:34:14 +09:00
Randy Mackay ea5e3a8ae0 Tools: rover autotests send position-target-global-int more slowly
SCurves do not work with very fast changes of target
2022-03-30 15:34:14 +09:00
Randy Mackay 8ff6972b7e Tools: rover autotest DriveRTL timeout increased by 10sec 2022-03-30 15:34:14 +09:00
Peter Barker 001a06d17d autotest: add tests to a pair of lua scripts 2022-02-18 21:23:06 +11:00
Peter Barker 376d7ade50 autotest: use assert_receive_message to remove redundant code 2022-02-15 11:06:10 +11:00
Peter Barker c8780792d4 autotest: loosen position constraint on SET_POSITION_TARGET_LOCAL_NED test 2022-01-08 13:59:19 +11:00
Peter Barker 62df8facd9 autotest: fix rover POSITION_TARGET_LOCAL test 2022-01-07 22:47:19 +11:00
Peter Barker a58e808af8 autotest: fix Rover gripper mission test
We can lose the statustext when getting current time
2022-01-06 17:48:30 +11:00
Peter Barker 2cdb082139 autotest: add test for estop-on-rc-switch 2021-12-17 09:58:37 +11:00
Peter Barker b75f8211d2 autotest: comment out probably-defunct test 2021-11-30 20:50:32 +11:00
Peter Barker 6e4aa2264f autotest: add test for uploading big fence then small fence 2021-11-30 20:50:32 +11:00
Peter Barker 56dda4c07f autotest: fix race condition in Rover gcs mission test 2021-11-05 09:07:19 +11:00
Josh Henderson a06a192255 Autotest: Rover add test for multiple depth finders 2021-10-15 13:08:17 +11:00
Peter Barker 00c6308b25 autotest: add test for FRAMStorage 2021-10-12 20:01:49 +11:00
Peter Barker b2a7841672 Tools: allow for selection of Storage backend type at runtime 2021-10-05 10:16:54 +11:00
Peter Barker 89c884e8f1 autotest: add test for HIGH_LATENCY2 2021-09-29 15:51:30 +10:00
Peter Barker 40a463f60c autotest: simplify camera mission item test
Rename for the modern style of keeping method name same as test name.

Remove pointless try/except block as it wasn't doing anything useful.
2021-09-29 11:38:18 +10:00
Peter Barker 1e1e8010e3 autotest: remove APM references 2021-09-18 10:45:39 -05: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 013bee99f4 autotest: rover: wait ready to arm before running motor test 2021-08-13 08:00:52 +10:00
Peter Barker 7929122f49 autotest: improve AHRS trim test 2021-07-28 17:20:28 +10:00
Peter Barker 6944ef6af1 autotest: fly each working Helicopter frame 2021-06-09 12:15:42 +10:00
Peter Barker 3eb164fb6a autotest: move script helper functions from rover to common 2021-05-14 13:21:36 +10:00
Peter Barker 9a13b5c9b6 autotest: add test for auxfunc triggering via script 2021-05-05 07:13:18 +10:00
Peter Barker 7d9daccdf7 autotest: fix mavproxy switch test
The order in which we fix the environment means that we need to be
listening on the correct port for rc values - so just fix it in the test
2021-04-03 08:58:52 +11:00
Peter Barker 462ac255a3 autotest: start MAVProxy only as needed for testing 2021-03-19 09:46:45 +11:00
Peter Barker 4aed767fe9 autotest: add test for MAV_CMD_DO_SET_MISSION_CURRENT 2021-03-04 11:59:33 +11:00
Peter Barker cc83562add autotest: tidy fence handling 2021-03-02 16:54:06 +11:00
Peter Barker 10007e2e42 autotest: load missions natively rather than using MAVProxy 2021-03-02 14:24:36 +11:00
Peter Barker 993d87469c autotest: move mission upload functions from rover to common 2021-03-02 14:24:36 +11:00
Peter Barker 0daa1a63d3 autotest: remove pointless fetch_parameters call
And the entire method, replace with equivalent test
2021-03-01 17:27:52 +11:00
Peter Barker 1f47698076 autotest: use change_mode in place of mavproxy.send 2021-03-01 13:10:09 +11:00
Peter Barker 9120882e9e autotest: print name of open dataflash log when test exception caught
The stack trace is already extremely useful... but mapping back to the
relevant dataflash log is a bit of a pain.

Adding more stuff to this method in the future might be good, too.
2021-02-21 21:35:35 +11:00
Peter Barker c13d229877 autotest: use self.set_current_waypoint rather than "wp set" to set current wp 2021-02-19 12:25:40 +11:00
Peter Barker 726f54e37f autotest: flake8 compliance for rover.py 2021-02-18 10:43:05 +11:00
Peter Barker a292fe1b8b autotest: use wait_statustext rather than mavproxy.expect
This is important when running under Valgrind as the text can be
significantly delayed.  wait_statustext times out in simulation time,
whereas mavproxy.expect has a flat 60s timeout
2021-02-17 18:16:04 +11:00
Peter Barker 1ca0998f32 Tools: take MAV_CMD_DO_SPRAYER as a mavlink command 2021-02-16 22:36:43 +11:00
Peter Barker b14dcf4bae Tools: add mission command to turn sprayer on and off 2021-02-16 22:36:43 +11:00
Pierre Kancir c02dfd1214 Autotest: add EndMissionBehavior Test for rover 2021-01-27 08:23:52 +09:00
Andrew Tridgell d47afb2406 autotest: added AHRSTrim test and add trim to accel cal test
this ensures the handling of AHRS trim is correct
2021-01-25 16:24:50 +11:00
Peter Barker ad2ab333f9 Tools: autotest: allow autotest to connect directly to SITL 2021-01-24 09:25:45 +11:00
Andrew Tridgell c396d15890 Revert "autotest: ensure defaults files don't set already-default-values"
This reverts commit 3d431cd4f1.

It breaks MissionPlanner SITL. We can re-apply once MissionPlanner
copes with external_model.
2021-01-20 08:54:43 +11:00
Peter Barker 04a52835c0 autotest: correct Rover set-position-target-global-int test
The vehicles doesn't send us set messages!
2021-01-19 21:16:39 +11:00
Peter Barker 3d431cd4f1 autotest: ensure defaults files don't set already-default-values
autotest: mark some vehicles as having external physics models

autotest: add default_params_filename to some vehicle info
2021-01-19 10:34:00 +11:00
Peter Barker cd8a393ac2 autotest: create own RC thread to handle setting of RC overrides
autotest: prevent method-on-undef problem in case of early test failure

autotest: plumb MAVProxy rc input back in for switch test

autotest: close off rc thread in case of timeout
2021-01-15 20:56:30 +11:00
Peter Barker 47aea5f44c autotest: print stack traces for caught exceptions 2021-01-13 19:46:13 +11:00
Peter Barker e85e6d3375 autotest: use new set_parameters in place of many set_parameter calls
autotest: use set_parameters for applying from parameter file

autotest: use set_parameters in place of many set_parameter calls
2021-01-13 15:09:29 +11:00
Peter Barker f478666700 autotest: correct scripting test for missing message
The message could pass us by
2021-01-13 12:24:17 +11:00
Peter Barker 2240a60e20 autotest: add trivial test for set-position-target-local-ned 2021-01-05 08:13:02 +09:00
Peter Barker 53336595e1 autotest: add simple test for Rover set_attitude_target handling 2021-01-05 08:13:02 +09:00
Peter Barker 65cffdad5a autotest: print stack traces when exceptions caught 2020-12-31 17:43:23 +11:00
Peter Barker d31f676c33 autotest: don't use MAVProxy for uploading using fencepoint protocol 2020-12-31 17:42:50 +11:00
Peter Barker 12505c4c28 autotest: add tests for new higher-channel override semantics 2020-12-29 15:03:34 +11:00
Peter Barker 0a5eedb05a autotest: wipe and reinitialise parameters when resetting SITL commandline
Should fix this scenario:
 - Plane soaring test uses different defaults file
 - soaring test sets a parameter away from default value
 - context pop sets it back to the value in the defaults file
 - it is now in permanent storage with the default found in the
different defaults file used by the soaring test
 - we finish running the soaring test an reset the SITL command line
back to default, with the old defaults file
 - we go on to running the next test.  At this point the value for that
parameter is the default in the defaults file used by the soaring test.

Something similar applies in the Callisto test.
2020-12-25 12:18:01 +11:00