Message ID | 20170207134812.13012-1-maxim.uvarov@linaro.org |
---|---|
State | New |
Headers | show |
On 7 February 2017 at 08:48, Maxim Uvarov <maxim.uvarov@linaro.org> 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 <maxim.uvarov@linaro.org> > Reviewed-by: Mike Holmes <mike.holmes@linaro.org> > --- > .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 > > +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"
Merged, Maxim. On 02/07/17 16:52, Mike Holmes wrote: > > > On 7 February 2017 at 08:48, Maxim Uvarov <maxim.uvarov@linaro.org > <mailto:maxim.uvarov@linaro.org>> 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 <maxim.uvarov@linaro.org > <mailto:maxim.uvarov@linaro.org>> > > > Reviewed-by: Mike Holmes <mike.holmes@linaro.org > <mailto:mike.holmes@linaro.org>> > > > --- > .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" > > __ > >
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 +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:
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 <maxim.uvarov@linaro.org> --- .codecov.yml | 25 +++++++++++++++++++++++++ .travis.yml | 45 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 60 insertions(+), 10 deletions(-) create mode 100644 .codecov.yml -- 2.11.0.295.gd7dffce