From 5bd0df422d45c27413912bdb5572b7afbf38bdba Mon Sep 17 00:00:00 2001 From: kamilritz Date: Tue, 5 May 2020 11:42:06 +0200 Subject: [PATCH] Speed up mavsdk sitl tests --- test/mavsdk_tests/autopilot_tester.cpp | 4 ++-- test/mavsdk_tests/autopilot_tester.h | 2 +- test/mavsdk_tests/test_multicopter_mission.cpp | 3 ++- .../mavsdk_tests/test_multicopter_offboard.cpp | 18 ++++++++++-------- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/test/mavsdk_tests/autopilot_tester.cpp b/test/mavsdk_tests/autopilot_tester.cpp index 5b39c9fbf7..42d4eb5458 100644 --- a/test/mavsdk_tests/autopilot_tester.cpp +++ b/test/mavsdk_tests/autopilot_tester.cpp @@ -124,10 +124,10 @@ void AutopilotTester::transition_to_multicopter() REQUIRE(result == Action::Result::SUCCESS); } -void AutopilotTester::wait_until_disarmed() +void AutopilotTester::wait_until_disarmed(std::chrono::seconds timeout_duration) { REQUIRE(poll_condition_with_timeout( - [this]() { return !_telemetry->armed(); }, std::chrono::seconds(60))); + [this]() { return !_telemetry->armed(); }, timeout_duration)); } void AutopilotTester::wait_until_hovering() diff --git a/test/mavsdk_tests/autopilot_tester.h b/test/mavsdk_tests/autopilot_tester.h index d520071e9e..1d993b7715 100644 --- a/test/mavsdk_tests/autopilot_tester.h +++ b/test/mavsdk_tests/autopilot_tester.h @@ -69,7 +69,7 @@ public: void land(); void transition_to_fixedwing(); void transition_to_multicopter(); - void wait_until_disarmed(); + void wait_until_disarmed(std::chrono::seconds timeout_duration = std::chrono::seconds(60)); void wait_until_hovering(); void prepare_square_mission(MissionOptions mission_options); void execute_mission(); diff --git a/test/mavsdk_tests/test_multicopter_mission.cpp b/test/mavsdk_tests/test_multicopter_mission.cpp index c94a86bb1e..b8258e14b3 100644 --- a/test/mavsdk_tests/test_multicopter_mission.cpp +++ b/test/mavsdk_tests/test_multicopter_mission.cpp @@ -48,7 +48,8 @@ TEST_CASE("Takeoff and Land", "[multicopter][vtol]") tester.takeoff(); tester.wait_until_hovering(); tester.land(); - tester.wait_until_disarmed(); + std::chrono::seconds until_disarmed_timeout = std::chrono::seconds(15); + tester.wait_until_disarmed(until_disarmed_timeout); } TEST_CASE("Fly square Multicopter Missions", "[multicopter][vtol]") diff --git a/test/mavsdk_tests/test_multicopter_offboard.cpp b/test/mavsdk_tests/test_multicopter_offboard.cpp index 0732e8a9a8..20af82ef42 100644 --- a/test/mavsdk_tests/test_multicopter_offboard.cpp +++ b/test/mavsdk_tests/test_multicopter_offboard.cpp @@ -47,9 +47,10 @@ TEST_CASE("Offboard takeoff and land", "[multicopter][offboard][nogps]") tester.wait_until_ready_local_position_only(); tester.store_home(); tester.arm(); - tester.offboard_goto(takeoff_position, 0.5f); + std::chrono::seconds goto_timeout = std::chrono::seconds(10); + tester.offboard_goto(takeoff_position, 0.5f, goto_timeout); tester.offboard_land(); - tester.wait_until_disarmed(); + tester.wait_until_disarmed(goto_timeout); tester.check_home_within(0.5f); } @@ -64,12 +65,13 @@ TEST_CASE("Offboard position control", "[multicopter][offboard][nogps]") tester.wait_until_ready_local_position_only(); tester.store_home(); tester.arm(); - tester.offboard_goto(takeoff_position, 0.5f); - tester.offboard_goto(setpoint_1, 1.0f); - tester.offboard_goto(setpoint_2, 1.0f); - tester.offboard_goto(setpoint_3, 1.0f); - tester.offboard_goto(takeoff_position, 0.2f); + std::chrono::seconds goto_timeout = std::chrono::seconds(10); + tester.offboard_goto(takeoff_position, 0.5f, goto_timeout); + tester.offboard_goto(setpoint_1, 1.0f, goto_timeout); + tester.offboard_goto(setpoint_2, 1.0f, goto_timeout); + tester.offboard_goto(setpoint_3, 1.0f, goto_timeout); + tester.offboard_goto(takeoff_position, 0.2f, goto_timeout); tester.offboard_land(); - tester.wait_until_disarmed(); + tester.wait_until_disarmed(goto_timeout); tester.check_home_within(1.0f); }