Przeglądaj źródła

Travis: enable coverall support.

Kim Kulling 8 lat temu
rodzic
commit
a6c86c79f1
4 zmienionych plików z 40 dodań i 0 usunięć
  1. 2 0
      .coveralls.yml
  2. 21 0
      .travis.yml
  3. 6 0
      CMakeLists.txt
  4. 11 0
      code/CMakeLists.txt

+ 2 - 0
.coveralls.yml

@@ -0,0 +1,2 @@
+service_name: travis-pro
+repo_token: GZXuNlublKFy7HAewHAZLk5ZwgipTFAOA

+ 21 - 0
.travis.yml

@@ -3,6 +3,14 @@ before_install:
   - sudo apt-get install cmake python3
   - if [ $LINUX ]; then sudo apt-get install -qq freeglut3-dev libxmu-dev libxi-dev ; fi
   - echo -e "#ifndef A_R_H_INC\n#define A_R_H_INC\n#define GitVersion ${TRAVIS_JOB_ID}\n#define GitBranch \"${TRAVIS_BRANCH}\"\n#endif // A_R_H_INC" > revision.h
+  # install latest LCOV (1.9 was failing)
+  - cd ${TRAVIS_BUILD_DIR}
+  - wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz
+  - tar xf lcov_1.11.orig.tar.gz
+  - sudo make -C lcov-1.11/ install
+  - gem install coveralls-lcov
+  - lcov --version
+  - g++ --version
 
 branches:
   only:
@@ -27,5 +35,18 @@ compiler:
 install:
   - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi
 
+before_script:
+  - cd ${TRAVIS_BUILD_DIR}
+  # init coverage to 0 (optional)
+  - lcov --directory . --zerocounters
+
 script:
   - . ./.travis.sh
+
+after_success:
+  - cd ${TRAVIS_BUILD_DIR}
+  - lcov --directory . --capture --output-file coverage.info
+  - lcov --remove coverage.info 'contrib/*' '/usr/*' --output-file coverage.info
+  - lcov --list coverage.info
+  - coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage.info
+

+ 6 - 0
CMakeLists.txt

@@ -173,6 +173,12 @@ ELSEIF( CMAKE_COMPILER_IS_MINGW )
 	SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -Wno-long-long -pedantic -std=c++11" )
 ENDIF()
 
+if (COVERALLS)
+    include(Coveralls)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+endif()
+
 INCLUDE (FindPkgConfig)
 INCLUDE_DIRECTORIES( include )
 

+ 11 - 0
code/CMakeLists.txt

@@ -928,3 +928,14 @@ if(MSVC AND ASSIMP_INSTALL_PDB)
     CONFIGURATIONS RelWithDebInfo
   )
 endif ()
+
+if (COVERALLS)
+    set(COVERAGE_SRCS ${assimp_src} )
+
+    # Create the coveralls target.
+    coveralls_setup(
+        "${COVERAGE_SRCS}" # The source files.
+        ON                 # If we should upload.
+        "${PROJECT_SOURCE_DIR}/cmake/") # (Optional) Alternate project cmake module path.
+endif()
+