mavsdk_tests: add tests for GPS as height source

This commit is contained in:
Julian Oes
2020-09-16 12:51:56 -04:00
committed by Daniel Agar
parent c31246e13a
commit 20621e6744
3 changed files with 71 additions and 3 deletions
@@ -39,10 +39,28 @@
#include "autopilot_tester.h"
TEST_CASE("Land on GPS lost during mission", "[multicopter][vtol]")
TEST_CASE("Land on GPS lost during mission (baro height mode)", "[multicopter][vtol]")
{
AutopilotTester tester;
tester.connect(connection_url);
tester.set_height_source(AutopilotTester::HeightSource::Baro);
tester.wait_until_ready();
AutopilotTester::MissionOptions mission_options;
mission_options.rtl_at_end = true;
tester.prepare_square_mission(mission_options);
tester.arm();
tester.execute_mission_and_lose_gps();
tester.wait_until_disarmed();
}
TEST_CASE("Land on GPS lost during mission (GPS height mode)", "[multicopter][vtol]")
{
AutopilotTester tester;
tester.connect(connection_url);
tester.set_height_source(AutopilotTester::HeightSource::Gps);
tester.wait_until_ready();
AutopilotTester::MissionOptions mission_options;
@@ -81,10 +99,11 @@ TEST_CASE("Continue on mag stuck during mission", "[multicopter][vtol]")
tester.wait_until_disarmed();
}
TEST_CASE("Continue on baro lost during mission", "[multicopter][vtol]")
TEST_CASE("Continue on baro lost during mission (baro height mode)", "[multicopter][vtol]")
{
AutopilotTester tester;
tester.connect(connection_url);
tester.set_height_source(AutopilotTester::HeightSource::Baro);
tester.wait_until_ready();
AutopilotTester::MissionOptions mission_options;
@@ -95,10 +114,41 @@ TEST_CASE("Continue on baro lost during mission", "[multicopter][vtol]")
tester.wait_until_disarmed();
}
TEST_CASE("Continue on baro stuck during mission", "[multicopter][vtol]")
TEST_CASE("Continue on baro lost during mission (GPS height mode)", "[multicopter][vtol]")
{
AutopilotTester tester;
tester.connect(connection_url);
tester.set_height_source(AutopilotTester::HeightSource::Gps);
tester.wait_until_ready();
AutopilotTester::MissionOptions mission_options;
mission_options.rtl_at_end = true;
tester.prepare_square_mission(mission_options);
tester.arm();
tester.execute_mission_and_lose_baro();
tester.wait_until_disarmed();
}
TEST_CASE("Continue on baro stuck during mission (baro height mode)", "[multicopter][vtol]")
{
AutopilotTester tester;
tester.connect(connection_url);
tester.set_height_source(AutopilotTester::HeightSource::Baro);
tester.wait_until_ready();
AutopilotTester::MissionOptions mission_options;
mission_options.rtl_at_end = true;
tester.prepare_square_mission(mission_options);
tester.arm();
tester.execute_mission_and_get_baro_stuck();
tester.wait_until_disarmed();
}
TEST_CASE("Continue on baro stuck during mission (GPS height mode)", "[multicopter][vtol]")
{
AutopilotTester tester;
tester.connect(connection_url);
tester.set_height_source(AutopilotTester::HeightSource::Gps);
tester.wait_until_ready();
AutopilotTester::MissionOptions mission_options;