/
lcov.sh
49 lines (39 loc) · 1.06 KB
/
lcov.sh
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
OUTFILE=lcov/lcov.info
[ -d lcov ] || mkdir lcov
lcov --no-external --capture --directory src --output-file "$OUTFILE"
[ -z "$TRAVIS_BUILD_DIR" ] || {
coveralls-lcov lcov/lcov.info
exit
}
genhtml -q -s -t "Gwion: coverage" -o lcov --precision 2 $OUTFILE
keyboard_cb() {
cat << EOF > lcov/helper_gcov.js
var i = 1;
var cusid_ele = document.getElementsByClassName('$1');
function keyDownTextField(e) {
var keyCode = e.keyCode;
if(keyCode==78) {
var item = cusid_ele[i];
cusid_ele[i].scrollIntoView();
i++;
} else if(keyCode==66){
i--;
var item = cusid_ele[i];
cusid_ele[i].scrollIntoView();
}
if(i < 1) i = 1;
var size = cusid_ele.length - 1;
if(i > size) i = size;
}
document.addEventListener("keydown", keyDownTextField, false);
EOF
}
keyboard_cb 'LineNoCov'
keyboard_cb 'coverFnLo'
for file in lcov/**/*.c.gcov.html
do sed -i 's/<body>/<body><script src="..\/helper_gcov.js"><\/script>/' "$file"
done
for file in lcov/**/*.*.func*.html
do sed -i 's/<body>/<body><script src="..\/helper_func.js"><\/script>/' "$file"
done