summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-01-11 17:01:10 +0300
committerAndrei Karas <akaras@inbox.ru>2017-01-11 17:01:10 +0300
commita8093d62e3e1380732489660228782c409b0017a (patch)
tree19959ba237e1fae7204b841252c2964d2e3ce21a
parent1bfb651bedf42f00c4c99a52fa4a7168fea1edae (diff)
downloadplus-a8093d62e3e1380732489660228782c409b0017a.tar.gz
plus-a8093d62e3e1380732489660228782c409b0017a.tar.bz2
plus-a8093d62e3e1380732489660228782c409b0017a.tar.xz
plus-a8093d62e3e1380732489660228782c409b0017a.zip
Add support for collecting coverage data in gcc6 tests and store on stats web site.
-rw-r--r--.gitlab-ci.yml2
-rwxr-xr-xtools/ci/jobs/gcc6_sdl2_tests.sh4
-rwxr-xr-xtools/ci/jobs/gcc6_tests.sh4
-rwxr-xr-xtools/ci/jobs/pages.sh7
-rwxr-xr-xtools/ci/scripts/init.sh7
5 files changed, 21 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 45dc5e20c..5d7094873 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3520,6 +3520,8 @@ pages:
dependencies:
- doxygen
- gitstats
+ - gcc-6_tests
+ - gcc-6_sdl2_tests
artifacts:
paths:
- public
diff --git a/tools/ci/jobs/gcc6_sdl2_tests.sh b/tools/ci/jobs/gcc6_sdl2_tests.sh
index 41940cb08..0c07757c2 100755
--- a/tools/ci/jobs/gcc6_sdl2_tests.sh
+++ b/tools/ci/jobs/gcc6_sdl2_tests.sh
@@ -10,6 +10,7 @@ aptget_install gcc-6 g++-6 \
make autoconf automake autopoint gettext libphysfs-dev \
libxml2-dev libcurl4-gnutls-dev libpng-dev \
libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev \
+ gcovr \
valgrind
export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \
@@ -20,9 +21,10 @@ export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \
source ./tools/ci/flags/gcc6.sh
do_init
-run_configure --enable-unittests=yes --with-sdl2 $*
+run_configure --enable-unittests=yes --with-sdl2 --with-gcov $*
export SDL_VIDEODRIVER=dummy
run_make_check
+run_gcov gcov-6 gcc-6_SDL2
source ./tools/ci/scripts/exit.sh
diff --git a/tools/ci/jobs/gcc6_tests.sh b/tools/ci/jobs/gcc6_tests.sh
index 1a2fdb978..97029b872 100755
--- a/tools/ci/jobs/gcc6_tests.sh
+++ b/tools/ci/jobs/gcc6_tests.sh
@@ -10,6 +10,7 @@ aptget_install gcc-6 g++-6 \
make autoconf automake autopoint gettext libphysfs-dev \
libxml2-dev libcurl4-gnutls-dev libpng-dev \
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev \
+ gcovr \
valgrind
export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \
@@ -20,9 +21,10 @@ export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \
source ./tools/ci/flags/gcc6.sh
do_init
-run_configure --enable-unittests=yes $*
+run_configure --enable-unittests=yes --with-gcov $*
export SDL_VIDEODRIVER=dummy
run_make_check
+run_gcov gcov-6 gcc-6
source ./tools/ci/scripts/exit.sh
diff --git a/tools/ci/jobs/pages.sh b/tools/ci/jobs/pages.sh
index 2c12253db..0e3c2b020 100755
--- a/tools/ci/jobs/pages.sh
+++ b/tools/ci/jobs/pages.sh
@@ -4,15 +4,20 @@ export LOGFILE=pages.log
source ./tools/ci/scripts/init.sh
-aptget_install git-core
+aptget_install git-core python
tools/ci/scripts/retry.sh git clone https://gitlab.com/4144/pagesindexgen.git pagesindexgen
mkdir -p public/docs
mkdir -p public/stats
+mkdir -p public/gcov
+
+cp logs/gcc-6.* public/gcov
+cp logs/gcc-6_SDL2.* public/gcov
cd pagesindexgen
./pagesindexgen.py ../public
+check_error $?
cd ..
cp -r doxygen/html/* public/docs
diff --git a/tools/ci/scripts/init.sh b/tools/ci/scripts/init.sh
index 944d4d338..c89717306 100755
--- a/tools/ci/scripts/init.sh
+++ b/tools/ci/scripts/init.sh
@@ -217,6 +217,13 @@ function run_make_check {
echo "valgrind check"
}
+function run_gcov {
+ gcovr -r . --gcov-executable=$1 --html -o logs/$2.html
+ check_error $?
+ gcovr -r . --gcov-executable=$1 -o logs/$2.txt
+ check_error $?
+}
+
function run_check_warnings {
DATA=$(cat $ERRFILE)
if [ "$DATA" != "" ];