Commit Graph

1125 Commits

Author SHA1 Message Date
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 31ba99e58a Tools: autotest: use buildlogs_path for all buildlogs 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 b908af10b7 Tools: autotest: remove non-working dump-logs script
We removed CLI from ArduPilot; this script will no longer work
2018-03-20 08:39:12 +11:00
Peter Barker 5fbb385c31 Tools: autotest: avoid exception when using Python3 on MacOSX
File "./Tools/autotest/sim_vehicle.py", line 999, in <module>
location)
File "./Tools/autotest/sim_vehicle.py", line 573, in start_vehicle
run_in_terminal_window(autotest, cmd_name, cmd)
File "./Tools/autotest/sim_vehicle.py", line 476, in
run_in_terminal_window
tabs = p.findall(out)
TypeError: cannot use a string pattern on a bytes-like object
SIM_VEHICLE: Killing tasks
2018-03-19 12:36:55 +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
Peter Barker b1b978381a Tools: correct quoting in run_in_terminal_window.sh 2018-03-15 07:40:23 +09:00
Peter Barker 5ac5a68d17 Tools: param_parse.py: replace @PREFIX in values with library prefix 2018-03-14 15:44:00 +11:00
chobits 9405c19e85 Tools: fix copter propeller animation in FlightGear multiplayer 2018-03-14 09:42:55 +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
Pierre Kancir 4558ef5b1e Autotest: correct Rover expected name in banner 2018-03-13 07:53:41 +09:00
Peter Barker 8b9ce3869c Tools: add bisect-helper.py
This is the start of a tool to help bisect problems with ArduPilot.

Currently it only helps bisect build errors.
2018-03-09 10:38:48 +11:00
Peter Barker 18135b4764 Tools: build-with-disabled-features: update deps 2018-02-27 07:43:13 +09:00
Peter Barker 67257e545e Tools: add how-to-use comment to build-with-disabled-features 2018-02-22 10:18:44 +10:00
Peter Barker 705e6287b9 Tools: add a build-with-disabled-features script 2018-02-22 10:18:44 +10:00
Pierre Kancir fe36c09bb0 Tools: correct Gazebo-iris param 2018-02-14 09:45:25 +09:00
Peter Barker 50ccbb5d0c Tools: autotest: correct speedup parameter handling 2018-02-13 17:15:05 +11:00
Peter Barker aeb99c675b Tools: autotest: remove racey mavproxy.expect
The autopilot could well have emitted the statustext before we
start to expect() it
2018-02-13 17:15:05 +11:00
Siddharth Purohit 8f074d52c1 autotest: fix setup of sitl for macosx 2018-01-31 12:22:23 +11:00
Andrew Tridgell ec81f905f4 autotest: added some new locations for testing 2018-01-15 11:46:02 +11:00
Stephen Dade aa7389b455 Tools: Fixed Cygwin SITL package names and made install easier for new users 2018-01-09 14:40:43 +00:00
Peter Barker 8a15c69aff Tools: add --fresh-params option to sim_vehicle.py
This will rebuild and use the XML file we generate from our
source code which conveys information about our parameters.

When using this option, "param help PARAMETERNAME" should reflect
changes made to the parameter metadata for PARAMETERNAME.
2018-01-08 14:49:35 +00:00
Patrick José Pereira 560d8b88d8 Tools: Add gazebo-bluerov2 on vehicleinfo.py
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-12-26 09:12:56 +11:00
Patrick José Pereira 0e6fc54a0e Tools: Add BATT_MONITOR on sub.parm
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-12-21 11:26:51 -05:00
Peter Barker 0b4dcdde35 Tools: param_parse.py: allow whitespace between vehicles
Also add sanity check that the vehicles you're limitting to we know
about
2017-12-16 11:08:35 +11:00
Peter Barker d1128e7be4 Tools: param_parse.py: replace comments with debug statements 2017-12-16 11:08:35 +11:00
Peter Barker eeb15d7fd5 Tools: param_parse.py: make comment consistent 2017-12-16 11:08:35 +11:00
Peter Barker 825832be93 Tools: param_parse.py: add a map for vehicle name to a true-name to be used in code
Where true-name is something like "Rover" and the normal name remains
the directory name (e.g. "APMrover2")
2017-12-16 11:08:35 +11:00
Peter Barker e0125a68e7 Tools: param_parse.py: use single regex for params everywhere 2017-12-16 11:08:35 +11:00
Peter Barker a45ab6b84c Tools: param_parse.py: correct example comment 2017-12-16 11:08:35 +11:00
Peter Barker 94afaebdb7 Tools: autotest builds each vehicle parameters individually 2017-12-16 11:08:35 +11:00
Peter Barker ea2c156c7f Tools: param_parse.py: understand tagging of parameters for specific vehicles 2017-12-16 11:08:35 +11:00
Peter Barker 8c516fb29c Tools: autotest: add max-alt fence 2017-12-13 10:04:50 +09:00
Randy Mackay 19af2f7d1d Tools: add decibel as valid param Unit 2017-12-12 07:59:41 +09:00
Andrew Tridgell 20d44136b0 autotest: fixed handling of core files 2017-12-12 08:45:56 +11:00
Peter Barker 75e8424e3f Tools: autotest: add a test for driving a simple RTL mission
In particular, we weren't setting NAV_CONTROLLER_OUTPUT.wp_dist
correctly before a recent commit from Randy
2017-12-09 22:34:07 +11: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
Guglie 42e5b180cb Tools: fix sim_vehicle.py terminal tab when using --no-mavproxy 2017-12-02 09:34:10 +11:00
Peter Barker b7a293ca5f Tools: autotest: move fetching of banner and version
Moved these to before log download.

They fail randomly after log download.
2017-11-28 09:47:46 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 5c07a44a6d Tools: Fix a race condition on the regression tests on Windows
Added \r\n to the expect() string as recomended at:
http://pexpect.readthedocs.io/en/stable/overview.html#find-the-end-of-line-cr-lf-conventions
this should work on both windows and linux systems

pexpect says it will always do a minimal (non greedy) matching and docs explicitly say that a .+ expression will always return only one character. These lines in autotest are looking for \S+, which, believing the documentation, would only return one character of the log file path.
Now we know that's not true, neither for Linux or for Windows (given the logs from @karthikdesai), so I can only assume that it does a greedy match but only for the characters it has received at the time expect is called.
Apparently, in the machines we are using autotest, it isn't a problem since MAVProxy is likely fast to give its output to pexpect before the expect method is called. On @karthikdesai's machine that wasn't happening since his machine was more or less loaded.
Concluding, this looks like a correct fix in the sense that it extends the regex pattern to wait for the end of line (and probably other places could benefit from it too).
2017-11-22 17:01:05 +09:00
Patrick José Pereira df6d2659ac autotest: Add RAT Beach for ArduSub
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-11-20 17:27:47 +09: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
Pierre Kancir 76bb081d60 Tools: autotest: add python headers to scripts
Tools: arduplane.py add python header

Tools: apmrover2.py add python header

Tools: arducopter.py add python header

Tools: ardusub.py add python header

Tools: quadplane.py add python header
2017-11-14 14:47:32 +11:00
Andrew Tridgell bf9779b63a autotest: default plane simulator to 'plane'
this is good enough for most people and avoids an external dependency
2017-11-06 15:44:26 +11:00
guglie e741cb28d2 fix wait_unlimited with an infinite sleep loop
this fixes issue #7180
2017-11-06 13:39:59 +11:00
Andrew Tridgell d55b66efe1 autotest: added HMAS location 2017-10-31 18:02:52 +11:00
Peter Barker 8c03425f37 Tools: enable INS batch logging during Rover autotest 2017-10-27 16:33:45 +11:00
Peter Barker c498f17bc8 Tools: autotest: fix apmrover2 race condition on banner 2017-10-26 17:20:38 +11:00
Peter Barker 93810ab42a Tools: sim_vehicle.py: clarify comment about vagrant and mavlink-out 2017-10-26 15:03:58 +11:00
Peter Barker 89fa44a224 Tools: sim_vehicle.py: flake8 compliance 2017-10-26 15:03:58 +11:00
Peter Barker 163b354448 Tools: autotest: rover: add test for braking 2017-10-26 14:45:19 +11:00
Peter Barker 47ffad7cdc Tools: autotest: copy generate_manifest aside for build_binaries.py 2017-10-26 07:57:48 +11:00
Peter Barker e3320ca953 Tools: autotest.py: run build_binaries.py instead of build_binaries.sh
Note we still copy the script sideways.  This is probably not
required for a python script.
2017-10-25 12:02:19 +11:00
Andrew Tridgell b88f2f1da3 autotest: fixed exception in convertgpx 2017-10-22 16:26:24 +11:00
Andrew Tridgell 71e2c86783 autotest: added more CMAC startup locations
this allows matching to RealFlight positions
2017-10-21 13:01:07 +11:00
Andrew Tridgell 776355ef2b autotest: fixed heli test
need to wait for motor runup
2017-09-27 20:54:21 +10:00
Peter Barker 5a19301606 Tools: autotest: add a test for setting of modes using CMD_DO_SET_MODE 2017-09-19 01:24:11 +01:00
mirkix 6bc4ab638a Tools: Add SITL tilthvec frame and default parameters 2017-09-18 21:20:39 +10:00
Peter Barker 27650c08aa Tools: autotest: use -z in place of -v for checking variable settedness
Some bash versions out there don't like -v
2017-09-18 08:26:22 +10:00
Peter Barker 78a0298af0 Tools: autotest.py: look at EKF flags to determine armability 2017-09-15 15:57:11 +01:00
Marco Robustini b4f46b14f0 Tools: add Marco's flying field to locations file 2017-09-11 17:58:01 +01:00
Peter Barker 20bfb82a7b Tools: autotest.py: add --no-clean and --no-configure options 2017-09-11 12:45:27 +10:00
Peter Barker e505635ddd Tools: sim_vehicle: make gdb-stopped work again 2017-09-11 12:30:00 +10:00
Peter Barker 2738fc34f0 Tools: autotest.py: exit if step not matched
Also, stop shadowing a variable
2017-09-08 21:51:26 +10:00
Peter Barker 6928618de8 Tools: autotest.py: allow specification of a buildlogs directory 2017-09-01 23:39:38 +10:00
Luis Vale Gonçalves c046824ce7 Added our testing location
Added testing location at Tagus Park, Oeiras, Portugal
2017-08-31 14:16:10 -07:00
Peter Barker f0096d3c7a Tools: apmrover2.py: add a test for MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES 2017-08-30 15:54:47 +01:00
Peter Barker 324d9f3c7d Tools: apmrover2.py: add a test for MAV_CMD_DO_GET_BANNER 2017-08-30 15:54:47 +01:00
Peter Barker 1b7122d733 Tools: add a --speedup parameter to autotest to control speed of all sims 2017-08-29 22:49:40 +01:00
Francisco Ferreira 2645760d19
Tools: sim_vehicle.py: fix small bug introduced in e298e87
Thanks to @cclauss for finding this
2017-08-29 12:16:23 +01:00
Peter Barker e298e87791 sim_vehicle: add --callgrind option 2017-08-28 13:47:27 +01:00
Peter Barker 24e616af7d Tools: autotest.py: factor write_fullresults 2017-08-26 17:54:32 +01:00
Peter Barker 0334cc1c88 Tools: correct copter's fly_throttle_failsafe failure case 2017-08-26 09:36:09 +10:00
Francisco Ferreira 415cb41c7f
Tools: add gdbserver option to Rover autotest
commit 38297c4 missed changing Rover file
2017-08-25 02:38:12 +01:00
Peter Barker a7b919f025 Tools: do not attach gdb to gdbserver unless --gdb is given 2017-08-24 21:37:06 +10:00
Miguel Arroyo 38297c4d19 Tools: Adds GDBServer with screen option for debugging 2017-08-24 21:37:06 +10:00
khancyr db3c387916 Tools: update relay pins for brushed motors in SITL 2017-08-24 20:10:32 +09:00
Andrew Tridgell f5d91f63d2 autotest: fixed firefly parameters 2017-08-20 09:37:00 +10:00
khancyr e116ec4eb0 Rover: update SITL parameters 2017-08-17 09:47:39 +09:00
Randy Mackay 7df73c50e8 SITL: remove unnecessary THR_MAX parameter default 2017-08-17 09:39:40 +09:00
Jacob Walser 8121091fb6 Sub: Don't configure RC params in SITL 2017-08-16 11:37:46 -04:00
Randy Mackay 9b63c8751f SITL: rover default params in alphabetical order 2017-08-15 20:47:19 +09:00
Randy Mackay 1582bd85af SITL: update rover default parameters 2017-08-15 20:47:19 +09:00
Peter Barker a2af13c17e Tools: calibrate SITL sub RC in autotest's sub parameters 2017-08-14 15:32:25 +09:00
Daniel Orbach 3c66663880 Tools: autotest.py: Squashed the code for default.* steps in run_step(). 2017-08-14 12:16:29 +10:00
Daniel Orbach 91e25bb937 Tools: autotest.py: Made use of shutil.copy2() where appropiate. 2017-08-14 12:16:29 +10:00
Daniel Orbach befd8b028b Tools: autotest.py: Moved all imports to top of file. 2017-08-14 12:16:29 +10:00
Daniel Orbach e951df7d50 Tools: autotest.py: Simplified binary_path through lookup table 2017-08-14 12:16:29 +10:00
Daniel Orbach 29ab76e714 Tools: autotest.py: Slightly cleaned up run_tests. 2017-08-14 12:16:29 +10:00
Daniel Orbach 04791139c0 Tools: autotest.py: Separated function definitions and script code. 2017-08-14 12:16:29 +10:00
Peter Barker 2437260f8a Tools: copter horizontal fence test waits for disarm then rearms 2017-08-04 17:44:43 +01:00
Peter Barker dd09bb338e Tools: wait for vehicle to disarm after handling throttle failsafe 2017-08-04 17:44:43 +01:00
Andrew Tridgell 224dc439ab Tools: updated parameters to remove ELEVON and VTAIL settings 2017-08-01 08:25:32 +10:00
Andrew Tridgell 2fb94597ba autotest: adjust default params for new mixing 2017-08-01 08:25:32 +10:00
Peter Barker c383d64954 Tools: ardusub.py: increase timeout to allow Valgrind to pass 2017-07-20 15:45:15 +10:00
Francisco Ferreira eda5d9265f
Tools: add new no-emit option to param_parse.py so that only validation is done 2017-07-18 14:15:39 +01:00
Michael du Breuil 31924e46d3 Tools: Parameters: Permit kHz as a unit 2017-07-16 08:26:52 +10:00
khancyr 5c8b8cc9a1 Tools: update rover skid param 2017-07-08 16:07:13 +09:00