forked from Archive/PX4-Autopilot
mavsdk_tests: don't block inside of callback
This is required with MAVSDK v0.29.0 and later!
This commit is contained in:
parent
8d3f1e63f0
commit
4eb1ea10f0
|
@ -7,6 +7,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
find_package(MAVSDK REQUIRED)
|
find_package(MAVSDK REQUIRED)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
if(MAVSDK_FOUND)
|
if(MAVSDK_FOUND)
|
||||||
add_executable(mavsdk_tests
|
add_executable(mavsdk_tests
|
||||||
|
@ -27,6 +28,7 @@ if(MAVSDK_FOUND)
|
||||||
MAVSDK::mavsdk_offboard
|
MAVSDK::mavsdk_offboard
|
||||||
MAVSDK::mavsdk_param
|
MAVSDK::mavsdk_param
|
||||||
MAVSDK::mavsdk_telemetry
|
MAVSDK::mavsdk_telemetry
|
||||||
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(mavsdk_tests
|
target_compile_options(mavsdk_tests
|
||||||
|
|
|
@ -238,8 +238,10 @@ void AutopilotTester::execute_mission_and_lose_gps()
|
||||||
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
||||||
|
|
||||||
if (progress.current == 1) {
|
if (progress.current == 1) {
|
||||||
CHECK(_failure->inject(Failure::FailureUnit::SensorGps, Failure::FailureType::Off, 0)
|
std::thread([this]() {
|
||||||
== Failure::Result::Success);
|
CHECK(_failure->inject(Failure::FailureUnit::SensorGps, Failure::FailureType::Off, 0)
|
||||||
|
== Failure::Result::Success);
|
||||||
|
}).detach();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -267,8 +269,10 @@ void AutopilotTester::execute_mission_and_lose_mag()
|
||||||
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
||||||
|
|
||||||
if (progress.current == 1) {
|
if (progress.current == 1) {
|
||||||
CHECK(_failure->inject(Failure::FailureUnit::SensorMag, Failure::FailureType::Off, 0)
|
std::thread([this]() {
|
||||||
== Failure::Result::Success);
|
CHECK(_failure->inject(Failure::FailureUnit::SensorMag, Failure::FailureType::Off, 0)
|
||||||
|
== Failure::Result::Success);
|
||||||
|
}).detach();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -297,8 +301,10 @@ void AutopilotTester::execute_mission_and_lose_baro()
|
||||||
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
||||||
|
|
||||||
if (progress.current == 1) {
|
if (progress.current == 1) {
|
||||||
CHECK(_failure->inject(Failure::FailureUnit::SensorBaro, Failure::FailureType::Off, 0)
|
std::thread([this]() {
|
||||||
== Failure::Result::Success);
|
CHECK(_failure->inject(Failure::FailureUnit::SensorBaro, Failure::FailureType::Off, 0)
|
||||||
|
== Failure::Result::Success);
|
||||||
|
}).detach();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -326,8 +332,10 @@ void AutopilotTester::execute_mission_and_get_baro_stuck()
|
||||||
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
||||||
|
|
||||||
if (progress.current == 1) {
|
if (progress.current == 1) {
|
||||||
CHECK(_failure->inject(Failure::FailureUnit::SensorBaro, Failure::FailureType::Stuck, 0)
|
std::thread([this]() {
|
||||||
== Failure::Result::Success);
|
CHECK(_failure->inject(Failure::FailureUnit::SensorBaro, Failure::FailureType::Stuck, 0)
|
||||||
|
== Failure::Result::Success);
|
||||||
|
}).detach();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -355,8 +363,10 @@ void AutopilotTester::execute_mission_and_get_mag_stuck()
|
||||||
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
std::cout << "Progress: " << progress.current << "/" << progress.total;
|
||||||
|
|
||||||
if (progress.current == 1) {
|
if (progress.current == 1) {
|
||||||
CHECK(_failure->inject(Failure::FailureUnit::SensorMag, Failure::FailureType::Stuck, 0)
|
std::thread([this]() {
|
||||||
== Failure::Result::Success);
|
CHECK(_failure->inject(Failure::FailureUnit::SensorMag, Failure::FailureType::Stuck, 0)
|
||||||
|
== Failure::Result::Success);
|
||||||
|
}).detach();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue