Merged,
Maxim.
On 02/07/17 16:52, Mike Holmes wrote:
>
>
> On 7 February 2017 at 08:48, Maxim Uvarov <[email protected]
> <mailto:[email protected]>> wrote:
>
> Results for code coverage will be available in https://codecov.io.
> On each successful run in github automatic code coverage will
> be run under travis ci. And at the end of travis log there will
> be link to code coverage for specific commit which you push. Also
> github merge requests will post automatically status of code coverage
> and update it if you changed merge request to new version.
>
> This patch also adds matrix to test both gcc and clang due to gcov
> is broken Travis CI shipment. Coverage done only for gcc tests.
>
> Signed-off-by: Maxim Uvarov <[email protected]
> <mailto:[email protected]>>
>
>
> Reviewed-by: Mike Holmes <[email protected]
> <mailto:[email protected]>>
>
>
> ---
> .codecov.yml | 25 +++++++++++++++++++++++++
> .travis.yml | 45 +++++++++++++++++++++++++++++++++++----------
> 2 files changed, 60 insertions(+), 10 deletions(-)
> create mode 100644 .codecov.yml
>
> diff --git a/.codecov.yml b/.codecov.yml
> new file mode 100644
> index 00000000..86bcd1dc
> --- /dev/null
> +++ b/.codecov.yml
> @@ -0,0 +1,25 @@
> +codecov:
> + notify:
> + require_ci_to_pass: yes
> +
> +coverage:
> + precision: 3
> + round: down
> + range: "50...75"
> + status:
> + project: yes
> + patch: yes
> + changes: yes
> +
> +parsers:
> + gcov:
> + branch_detection:
> + conditional: yes
> + loop: yes
> + method: no
> + macro: no
> +
> +comment:
> + layout: "header, diff, files"
> + behavior: default
> + require_changes: no
> diff --git a/.travis.yml b/.travis.yml
> index f12242ce..5b9a29a6 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -7,6 +7,8 @@
> # pushing to github/coverity_scan will also launch a static analysis
> # See https://scan.coverity.com/travis_ci
> <https://scan.coverity.com/travis_ci>
>
> +language: c
> +sudo: required
> env:
> global:
> # COVERITY_SCAN_TOKEN
> @@ -24,10 +26,27 @@ env:
> # copy the secure:<key> below
> #
> - secure: "xxxx"
> + #
> + # By default Linaro CODECOV_TOKEN token is used. It's ok to use
> it to see
> + # for individual commit validation. But you you want to track
> tests history
> + # you need generated new one at https://codecov.io specific for
> your repo.
> + - CODECOV_TOKEN=8e1c0fd8-62ff-411e-a79f-5839f6662c11
>
> -language: c
> -compiler: clang
> -sudo: required
> +matrix:
> + include:
> + - compiler: gcc-4.8
> + addons:
> + apt:
> + sources:
> + - ubuntu-toolchain-r-test
> + packages:
> + - gcc-4.8
> + env: MY_CF="-O0 -coverage" MY_LDF="--coverage" DOCOV=1
> + - compiler: clang
> + addons:
> + apt:
> + packages:
> + - clang
>
> before_install:
> - echo 1000 | sudo tee /proc/sys/vm/nr_hugepages
> @@ -37,7 +56,9 @@ before_install:
> - sudo apt-get -qq update
> - sudo apt-get install automake autoconf libtool libssl-dev
> graphviz mscgen doxygen
> - sudo apt-get install libpcap-dev linux-headers-`uname -r`
> + - sudo pip install coverage
> - gem install asciidoctor
> + - PATH=${PATH//:\.\/node_modules\/\.bin/}
>
> # Install cunit for the validation tests because distro
> version is too old and fails C99 compile
> - export CUNIT_VERSION=2.1-3
> @@ -74,18 +95,22 @@ before_install:
> - popd
>
> script:
> -
> - - ./bootstrap
> - - ./configure --enable-test-cpp --enable-test-vald
> --enable-test-helper --enable-test-perf --enable-user-guides
> --enable-test-perf-proc --enable-test-example
> --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap
> - - make -j 4
> - - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
> make check
> - - sudo git clean -f -d -x && rm -rf dpdk && rm -rf netmap
> && rm -rf $KSRC
> -
> - ./bootstrap
> - ./configure
> - make doxygen-doc
> - make distcheck
>
> + - ./bootstrap
> + - ./configure --enable-test-cpp --enable-test-vald
> --enable-test-helper --enable-test-perf --enable-user-guides
> --enable-test-perf-proc --enable-test-example
> --with-dpdk-path=`pwd`/dpdk/${TARGET}
> --with-netmap-path=`pwd`/netmap CFLAGS="$MY_CF" CXXFLAGS="$MY_CF"
> LDFLAGS="$MY_LDF"
> + - make -j 4
> + - sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
> make check
> + - sudo rm -rf dpdk
> + - sudo rm -rf netmap
> + - sudo rm -rf $KSRC
> +
> +after_success:
> + - if [ -n "$DOCOV" ]; then find . -type f -iname '*.[ch]' -not
> -path ".git/*" -execdir gcov-4.8 {} \; ; bash <(curl -s
> https://codecov.io/bash) -X coveragepy; fi
> +
> addons:
> coverity_scan:
> project:
> --
> 2.11.0.295.gd7dffce
>
>
>
>
> --
> Mike Holmes
> Program Manager - Linaro Networking Group
> Linaro.org <http://www.linaro.org/>* **│ *Open source software for ARM SoCs
> "Work should be fun and collaborative, the rest follows"
>
> __
>
>