Coverage of the testsuite (#297)

* coverage rule in Makefile

* coverage in cmake

* clean coverage rule

* it looks like there is a proper way to remove the coverage data

* cmake: coverage_erase

* Add coverage target to cmake, fix typo

* Fix travis osx brew python (now upgrade)
This commit is contained in:
Luciano 2018-03-05 14:38:13 -05:00 committed by Diego M. Rodríguez
parent dcf3284d73
commit de1f66a94b
5 changed files with 31 additions and 3 deletions

View File

@ -72,7 +72,7 @@ stage_osx: &stage_osx
# installed manually.
|
if [ ${TRAVIS_OS_NAME} = "osx" ]; then
brew install python3
brew upgrade python3
brew install gcc@6
brew link --overwrite gcc@6
virtualenv env -p python3

View File

@ -27,4 +27,5 @@ if (ENABLE_TARGETS_QA)
add_lint_target()
add_code_style_target()
add_doc_target(html "./" "_build/")
add_coverage_target()
endif()

View File

@ -41,6 +41,10 @@ test:
profile:
python3 -m unittest discover -p "profile*.py" -v
coverage:
coverage3 run --source qiskit -m unittest discover -s test -q
coverage3 report
doc:
export PYTHONPATH=$(PWD); \
for LANGUAGE in "." "ja"; do \
@ -53,7 +57,10 @@ sim:
make -C src/cpp-simulator/src clean
make -C src/cpp-simulator/src
clean:
coverage_erase:
coverage erase
clean: coverage_erase
make -C doc clean
make -C doc -e BUILDDIR="_build/ja" -e SOURCEDIR="./ja" clean
make -C src/cpp-simulator/src clean

View File

@ -30,6 +30,25 @@ function(add_code_style_target)
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
endfunction()
function(add_coverage_target)
find_program(COV3 "coverage3")
if (NOT COV3)
message(FATAL_ERROR "Couldn't find coverage3 in your system. Please, install it and try again.")
endif()
add_custom_target(coverage_erase)
add_custom_command(TARGET coverage_erase
COMMAND ${COV3} erase
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
add_custom_target(coverage)
add_custom_command(TARGET coverage
COMMAND ${COV3} run --source qiskit -m unittest discover -s test -q
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
add_custom_command(TARGET coverage
COMMAND ${COV3} report
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
endfunction()
function(add_doc_target DOC_FORMAT SOURCE_DIR BUILD_DIR)
find_program(PYTHON python)
if(NOT PYTHON)
@ -74,4 +93,4 @@ function(add_doc_target DOC_FORMAT SOURCE_DIR BUILD_DIR)
${SPHINX} -M ${DOC_FORMAT} "${SOURCE_DIR}${lang_dir}" "${BUILD_DIR}${lang_dir}"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/doc)
endforeach()
endfunction()
endfunction()

View File

@ -3,3 +3,4 @@ pycodestyle
Sphinx>=1.6,<1.7
better-apidoc==0.1.2
sphinxcontrib-fulltoc==1.2.0
coverage>=4.4.0