mavsdk SITL testing code coverage and upload to codecov.io

This commit is contained in:
Daniel Agar 2019-12-26 12:36:24 -05:00
parent 2120c87d1e
commit 30a73416dc
6 changed files with 39 additions and 7 deletions

View File

@ -0,0 +1,23 @@
name: SITL Tests (Code Coverage)
on: [push]
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-simulation-bionic:2019-12-18
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Set Python 3 as default
run: update-alternatives --install /usr/bin/python python /usr/bin/python3 10
- name: Install psutil
run: pip3 install psutil
- name: Run simulation tests
run: make tests_integration_coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: mavsdk

View File

@ -358,7 +358,7 @@ endif()
# optionally enable cmake testing (supported only on posix)
option(CMAKE_TESTING "Configure test targets" OFF)
if (${PX4_CONFIG} STREQUAL "px4_sitl_test")
if(${PX4_CONFIG} STREQUAL "px4_sitl_test")
set(CMAKE_TESTING ON)
endif()
if(CMAKE_TESTING)

View File

@ -357,10 +357,16 @@ tests_coverage:
rostest: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
tests_integration: px4_sitl gazebo mavsdk_tests
# Missing step: Gazebo model generation
tests_integration: px4_sitl_default
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo
@"$(SRC_DIR)"/test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 100
tests_integration_coverage:
@$(MAKE) clean
@$(MAKE) --no-print-directory px4_sitl_default PX4_CMAKE_BUILD_TYPE=Coverage
@$(MAKE) --no-print-directory px4_sitl_default sitl_gazebo PX4_CMAKE_BUILD_TYPE=Coverage
@"$(SRC_DIR)"/test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --iterations 1 --fail-early
tests_mission: rostest
@"$(SRC_DIR)"/test/rostest_px4_run.sh mavros_posix_tests_missions.test

View File

@ -6,6 +6,7 @@ matplotlib
nose
numpy>=1.13
pandas>=0.21
psutil
pyserial>=3.0
pyulog>=0.5.0
pyyaml

View File

@ -141,7 +141,10 @@ foreach(cmd_name ${test_cmds})
set_tests_properties(posix_${cmd_name} PROPERTIES PASS_REGULAR_EXPRESSION "Shutting down")
endforeach()
if (CMAKE_BUILD_TYPE STREQUAL Coverage)
if(CMAKE_BUILD_TYPE STREQUAL Coverage)
setup_target_for_coverage(test_coverage "${CMAKE_CTEST_COMMAND} --output-on-failure -T Test" tests)
setup_target_for_coverage(generate_coverage "${CMAKE_COMMAND} -E echo" generic)
# TODO:
#setup_target_for_coverage(mavsdk_coverage "${PX4_SOURCE_DIR}/test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --iterations 1 --fail-early" mavsdk)
endif()

View File

@ -68,13 +68,12 @@ if(ENABLE_LOCKSTEP_SCHEDULER)
endif()
if (EXTRA_DEPENDS)
if(EXTRA_DEPENDS)
add_dependencies(px4_layer ${EXTRA_DEPENDS})
endif()
if (BUILD_TESTING)
if(BUILD_TESTING)
add_subdirectory(test_stubs)
add_subdirectory(gtest_runner)
endif()