diff --git a/platforms/posix/cmake/sitl_tests.cmake b/platforms/posix/cmake/sitl_tests.cmake index 96e9e5c77a..f8b29ceec0 100644 --- a/platforms/posix/cmake/sitl_tests.cmake +++ b/platforms/posix/cmake/sitl_tests.cmake @@ -76,9 +76,23 @@ add_test(NAME mavlink set_tests_properties(mavlink PROPERTIES FAIL_REGULAR_EXPRESSION "mavlink FAILED") set_tests_properties(mavlink PROPERTIES PASS_REGULAR_EXPRESSION "mavlink PASSED") - sanitizer_fail_test_on_error(mavlink) +# Shutdown test +add_test(NAME shutdown + COMMAND ${PX4_SOURCE_DIR}/Tools/sitl_run.sh + $ + none + none + test_shutdown + ${PX4_SOURCE_DIR} + ${PX4_BINARY_DIR} + WORKING_DIRECTORY ${SITL_WORKING_DIR}) + +#set_tests_properties(shutdown PROPERTIES FAIL_REGULAR_EXPRESSION "shutdown FAILED") +set_tests_properties(shutdown PROPERTIES PASS_REGULAR_EXPRESSION "Shutting down") +sanitizer_fail_test_on_error(shutdown) + # run arbitrary commands set(test_cmds hello diff --git a/posix-configs/SITL/init/test/test_shutdown b/posix-configs/SITL/init/test/test_shutdown new file mode 100644 index 0000000000..86274883ca --- /dev/null +++ b/posix-configs/SITL/init/test/test_shutdown @@ -0,0 +1,95 @@ +#!/bin/sh +# PX4 commands need the 'px4-' prefix in bash. +# (px4-alias.sh is expected to be in the PATH) +. px4-alias.sh + +uorb start + +param load + +param set BAT_N_CELLS 3 +param set MAV_TYPE 22 +param set VT_TYPE 2 +param set SYS_RESTART_TYPE 0 + +dataman start + +simulator start -t +tone_alarm start +gyrosim start +accelsim start +barosim start +gpssim start +measairspeedsim start +pwm_out_sim start + +sensors start +commander start +land_detector start vtol +navigator start +ekf2 start +vtol_att_control start +mc_pos_control start +mc_att_control start +fw_pos_control_l1 start +fw_att_control start +wind_estimator start + +#mixer load /dev/pwm_output0 ROMFS/sitl/mixers/standard_vtol_sitl.main.mix + +ver all + +logger start -e -t + +mavlink boot_complete + +sleep 2 + +echo "Boot complete" + +# status of all running modules +echo "Checking status of all modules" +logger status +pwm_out_sim status +sensors status +commander status +land_detector status +navigator status +ekf2 status +mc_pos_control status +mc_att_control status +fw_pos_control_l1 status +fw_att_control status +wind_estimator status +dataman status +uorb status + +# stop all +echo "Stopping all modules" +logger stop +pwm_out_sim stop +mc_att_control stop +fw_att_control stop +mc_pos_control stop +fw_pos_control_l1 stop +navigator stop +commander stop +land_detector stop +ekf2 stop +wind_estimator stop +sensors stop + +sleep 2 + +simulator stop +tone_alarm stop +gyrosim stop +#accelsim stop +#barosim stop +gpssim stop +measairspeedsim stop + +dataman stop +#uorb stop + +shutdown