forked from rbock/sqlpp11
-
Notifications
You must be signed in to change notification settings - Fork 1
/
coveralls
executable file
·31 lines (26 loc) · 883 Bytes
/
coveralls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
if [ 0 -eq $(find -iname *.gcda | wc -l) ]
then
exit 0
fi
gcov --source-prefix ${TRAVIS_BUILD_DIR} --preserve-paths --relative-only $(find -iname *.gcda) 1>/dev/null || exit 0
cat >coverage.json <<EOF
{
"service_job_id": "${TRAVIS_JOB_ID}",
"service_name": "travis-ci",
"source_files": [
EOF
for file in include*.gcov
do
path=$(echo ${file} | sed -re 's%#%\/%g; s%.gcov$%%')
cat >>coverage.json <<EOF
{
"name": "${path}",
"source_digest": "$(md5sum ${TRAVIS_BUILD_DIR}/${path} | awk '{ print $1 }')",
"coverage": [$(tail -n +3 ${file} | cut -d ':' -f 1 | sed -re 's%^ +%%g; s%-%null%g; s%^[#=]+$%0%;' | tr $'\n' ',' | sed -re 's%,$%%')]
},
EOF
done
mv coverage.json coverage.json.tmp
cat >coverage.json <(head -n -1 coverage.json.tmp) <(echo -e " }\n ]\n}")
curl -F [email protected] https://coveralls.io/api/v1/jobs