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
This came in with a 35 second delay, which is rather spectacular given
the 5 second loop it is in.
2021-01-11T11:54:30.3046835Z dataflash_logger status
2021-01-11T11:54:30.3047406Z MANUAL> DFLogger: Active Rate(35s):408.788kB/s Block:65034 Missing:0 Fixed:0 Abandoned:0
2021-01-11T11:54:30.3048195Z Timed out looking for Active Rate\([0-9]s\):([0-9]+[.][0-9]+)
2021-01-11T11:54:30.3048801Z AT-0472.3: Exception caught: 60
This helps us actually execute the timeouts appropriately and thus
re-fetch the STAT_BOOTCNT parameter we use for detecting the reboot
Eliminates annoying pauses during testing.
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.
The new prearm-checking code has shown that we're not actually armable
after all!
Even the new prearm bit won't tell you if you can arm - you have to arm
to test that!
We won't be armable - but the other checks we make will ensure we get
the error we are looking for
Also use a more reliable way of draining the data from the autopilot