Add flow tests to MAVSDK tests (#14039)

* workflows: remove unneeded pip dep and comments

* mavsdk_tests: simple test using flow/offboard

This adds a first proof of concept of a test using flow and offboard.

* Flow MAVSDK test: check against ground truth

* CleanUp

* workflows: use latest docker image with psutil

* mavsdk_tests: fix PEP8 issues

* Add VTOL CI tests back

* switch to non-rendering flow mockup

* workflows: install mavsdk from GitHub release .deb

* Add vision test and disable VTOL temporarlly

* Fist draft of combining test coverage and test in one workflow

* Add VTOL mavsdk tests back in CI

Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: kritz <kritz@ethz.ch>
This commit is contained in:
Lorenz Meier
2020-01-30 11:57:48 +01:00
committed by GitHub
parent a141e4062b
commit eb50e89d87
7 changed files with 209 additions and 69 deletions

View File

@@ -18,10 +18,25 @@ test_matrix = [
"timeout_min": 20,
},
{
"model": "standard_vtol",
"test_filter": "[vtol]",
"model": "iris_opt_flow",
"test_filter": "[multicopter_offboard]",
"timeout_min": 20,
},
{
"model": "iris_opt_flow_mockup",
"test_filter": "[multicopter_offboard]",
"timeout_min": 20,
},
{
"model": "iris_vision",
"test_filter": "[multicopter_offboard]",
"timeout_min": 20,
},
{
"model": "standard_vtol",
"test_filter": "[vtol]",
"timeout_min": 20,
},
# {
# "model": "plane",
# "test_filter": "[plane]",
@@ -175,6 +190,8 @@ def main():
help="Abort on first unsuccessful test")
parser.add_argument("--gui", default=False, action='store_true',
help="Display gzclient with simulation")
parser.add_argument("--model", type=str, default='all',
help="Specify which model to run")
args = parser.parse_args()
if not is_everything_ready():
@@ -253,7 +270,20 @@ def run(args):
def run_test_group(args):
overall_success = True
for group in test_matrix:
if args.model == 'all':
models = test_matrix
else:
found = False
for elem in test_matrix:
if elem['model'] == args.model:
models = [elem]
found = True
if not found:
print("Specified model is not defined")
models = []
for group in models:
print("Running test group for '{}' with filter '{}'"
.format(group['model'], group['test_filter']))