Skip to content

Commit

Permalink
mavsdk SITL testing code coverage and upload to codecov.io
Browse files Browse the repository at this point in the history
  • Loading branch information
dagar committed Dec 26, 2019
1 parent 2120c87 commit 30a7341
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 7 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/sitl_tests_coverage.yml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
1 change: 1 addition & 0 deletions Tools/setup/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ matplotlib
nose
numpy>=1.13
pandas>=0.21
psutil
pyserial>=3.0
pyulog>=0.5.0
pyyaml
Expand Down
5 changes: 4 additions & 1 deletion platforms/posix/cmake/sitl_tests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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()
5 changes: 2 additions & 3 deletions platforms/posix/src/px4/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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()

0 comments on commit 30a7341

Please sign in to comment.