Skip to content

Commit 73bb106

Browse files
committed
Merge pull request #175 from cchampet/dev_coveralls
Use coveralls tool
2 parents 6ddfb4a + a700ea3 commit 73bb106

9 files changed

+64
-28
lines changed

.travis.yml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
env:
2+
global:
3+
- AVTRANSCODER_BUILD=${TRAVIS_BUILD_DIR}/build
4+
- AVTRANSCODER_INSTALL=${TRAVIS_BUILD_DIR}/install
5+
- J='-j3'
26
matrix:
37
- DEPENDENCY_MODE=libav
48
- DEPENDENCY_MODE=ffmpeg
@@ -18,19 +22,27 @@ before_script:
1822
- date -u
1923
- uname -a
2024

21-
- chmod +x tools/travis.linux.install.deps.sh
22-
- chmod +x tools/travis.osx.install.deps.sh
23-
25+
- cd ${TRAVIS_BUILD_DIR}
26+
27+
# install coverage tools used by gcc compiler
28+
- if [ "${CC}" = "gcc" ]; then ./tools/travis.gcc.install.coverage.sh; fi
29+
30+
# install avtranscoder dependencies
2431
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ./tools/travis.linux.install.deps.sh; fi
2532
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ./tools/travis.osx.install.deps.sh; fi
2633

2734
script:
2835
# Build
29-
- mkdir build
30-
- cd build
31-
- cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/dist
32-
- make install
36+
- mkdir -p ${AVTRANSCODER_BUILD}
37+
- cd ${AVTRANSCODER_BUILD}
38+
- cmake .. -DCMAKE_INSTALL_PREFIX=${AVTRANSCODER_INSTALL} -DCMAKE_BUILD_TYPE=Release -DAVTRANSCODER_COVERAGE=True
39+
- make $J install
40+
3341
# Launch tests
34-
- cd ..
35-
- chmod +x tools/travis.python.nosetests.sh
36-
- if [ "${TRAVIS_OS_NAME}" = "linux" && "${DEPENDENCY_MODE}" = "ffmpeg" ]; then ./tools/travis.python.nosetests.sh; fi
42+
- if [ "${DEPENDENCY_MODE}" = "ffmpeg" ]; then ./../tools/travis.python.nosetests.sh; fi
43+
44+
after_success:
45+
- cd ${TRAVIS_BUILD_DIR}
46+
47+
# generate coverage for coveralls
48+
- if [ "${CC}" = "gcc" ]; then ./tools/travis.gcc.generate.coverage.sh; fi

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ else()
2828
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fPIC -O3")
2929
endif()
3030

31+
# CPP flag to create code coverage report
32+
if(AVTRANSCODER_COVERAGE)
33+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
34+
endif()
3135

3236
add_subdirectory(src)
3337

INSTALL.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,18 @@ cmake .. -DCMAKE_BUILD_TYPE=Release/Debug
5252
http://brew.sh/
5353

5454
###### Install avTranscoder
55+
Last stable version:
5556
```
5657
brew tap cbenhagen/video
5758
brew install avtranscoder
5859
```
5960

61+
From develop branch:
62+
```
63+
brew tap cbenhagen/video
64+
brew install avtranscoder --devel
65+
```
66+
6067
###### Use homebrew to install only dependencies
6168
```
6269
brew deps avtranscoder

README.md

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ C++ API for Libav / FFmpeg
44

55
Based on Libav/FFmpeg libraries to support various video and audio formats, avTranscoder provides the high level API to re-wrap or transcode media easily.
66

7+
[![Build Status](https://travis-ci.org/avTranscoder/avTranscoder.svg?branch=master)](https://travis-ci.org/avTranscoder/avTranscoder)
8+
[![Coverage Status](https://coveralls.io/repos/avTranscoder/avTranscoder/badge.svg)](https://coveralls.io/r/avTranscoder/avTranscoder)
9+
<a href="https://scan.coverity.com/projects/2626"><img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/2626/badge.svg"/></a>
10+
711
#### What you need to know
812
* C++ library
913
* Java and Python bindings generated with SWIG
@@ -47,20 +51,6 @@ avProfileType=avProfileTypeAudio
4751
codec=codecName
4852
```
4953

50-
#### Continuous Integration
51-
52-
###### Drone.io
53-
[![Build Status](https://drone.io/github.com/avTranscoder/avTranscoder/status.png)](https://drone.io/github.com/avTranscoder/avTranscoder/latest)
54-
55-
###### Travis
56-
[![Build Status](https://travis-ci.org/avTranscoder/avTranscoder.svg?branch=master)](https://travis-ci.org/avTranscoder/avTranscoder)
57-
58-
###### Coverity Scan
59-
<a href="https://scan.coverity.com/projects/2626">
60-
<img alt="Coverity Scan Build Status"
61-
src="https://scan.coverity.com/projects/2626/badge.svg"/>
62-
</a>
63-
6454
#### Tests
6555

6656
###### nosetests

tools/travis.gcc.generate.coverage.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# capture coverage info
2+
lcov --capture --directory ${AVTRANSCODER_BUILD} --output-file coverage.info
3+
4+
# filter out system and test code
5+
lcov --remove coverage.info '/usr/*' '*/*PYTHON_wrap.*' --output-file coverage.info
6+
7+
# debug before upload
8+
lcov --list coverage.info
9+
10+
# uploads to coveralls
11+
coveralls-lcov --repo-token e7jYJJrojzWYfmdUgkDvwVNGqJgh6yCH7 coverage.info

tools/travis.gcc.install.coverage.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# install latest LCOV (1.9 was failing for me)
2+
wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz
3+
tar xf lcov_1.11.orig.tar.gz
4+
sudo make -C lcov-1.11/ install
5+
6+
# install lcov to coveralls conversion + upload tool
7+
gem install coveralls-lcov
8+
9+
# init coverage to 0 (optional)
10+
lcov --directory ${AVTRANSCODER_BUILD} --zerocounters
11+
12+
# install nosetests plugins
13+
sudo pip install coverage

tools/travis.linux.install.deps.sh

100644100755
File mode changed.

tools/travis.osx.install.deps.sh

100644100755
File mode changed.

tools/travis.python.nosetests.sh

100644100755
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#!/bin/bash
22

33
# Get avtranscoder library
4-
export PYTHONPATH=`pwd`/build/dist/lib/python2.7.6/site-packages/:$PYTHONPATH
4+
export PYTHONPATH=${AVTRANSCODER_INSTALL}/lib/python2.7.6/site-packages/:$PYTHONPATH
55

66
# Get avtranscoder profiles
7-
export AVPROFILES=`pwd`/build/dist/share/ressource
7+
export AVPROFILES=${AVTRANSCODER_INSTALL}/share/ressource
88

99
# Get assets
1010
git clone https://github.com/avTranscoder/avTranscoder-data.git
@@ -13,5 +13,4 @@ export AVTRANSCODER_TEST_AUDIO_WAVE_FILE=`pwd`/avTranscoder-data/audio/frequenci
1313
export AVTRANSCODER_TEST_AUDIO_MOV_FILE=`pwd`/avTranscoder-data/video/BigBuckBunny/BigBuckBunny_1080p_5_1.mov
1414

1515
# Launch tests
16-
cd test/pyTest
17-
nosetests
16+
nosetests ${TRAVIS_BUILD_DIR}/test/pyTest --with-coverage

0 commit comments

Comments
 (0)