Commit Graph

187 Commits

Author SHA1 Message Date
Peter Barker 2b9b3c07cb autotest: add test for rover MAV_CMD_DO_CHANGE_SPEED 2023-08-24 13:06:00 +09:00
Peter Barker a44820cfde autotest: tidy Rover DriveMaxRCIN test
take advantage of created infrastructure
2023-08-24 12:02:38 +10:00
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