shlist

share and manage lists between multiple people
Log | Files | Refs

commit 23f73938d114c9cbdb0575be48c089325ac5778b
parent c165a8bc42fd8dd9e15d5a89425fe412d6e8de93
Author: kyle <kyle@0x30.net>
Date:   Sun, 10 Jan 2016 18:39:53 -0700

server: add coverage.sh script

- script generates html reports of coverage
- it uses Devel::Cover to do the heavy lifting, make sure it's installed
- currently our coverage looks like:
---------------------------- ------ ------ ------ ------ ------ ------ ------
File                           stmt   bran   cond    sub    pod   time  total
---------------------------- ------ ------ ------ ------ ------ ------ ------
msgs.pl                       100.0    n/a    n/a  100.0    n/a    0.0  100.0
sl                             91.1   77.8   62.5   97.3    n/a  100.0   88.2
Total                          91.2   77.8   62.5   97.4    n/a  100.0   88.4
---------------------------- ------ ------ ------ ------ ------ ------ ------

Diffstat:
Aserver/coverage.sh | 38++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+), 0 deletions(-)

diff --git a/server/coverage.sh b/server/coverage.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# Try not to connect to a production instance with this script! +export PORT=5899 + +if [ `uname` = "OpenBSD" ]; then + alias make=gmake +fi + +# Start server with Devel::Cover module loaded +perl -MDevel::Cover sl -p $PORT -t & +server_pid=$! + +passed=0 +failed=0 +count=0 +for t in `ls tests/*/Makefile`; do + count=`expr $count + 1` + test_dir=`dirname ${t}` + + if ! make -s -C $test_dir test; then + printf ">>> %3s %s: test failed\n" $count $test_dir + failed=`expr $failed + 1` + fi + + printf ">>> %3s %s: ok\n" $count $test_dir + passed=`expr $passed + 1` +done + +# Kill the server to flush all coverage data +kill $server_pid +wait + +printf ">>> %i ok %i failed " $passed $failed +printf "(%i min %i sec)\n" $((SECONDS / 60)) $((SECONDS % 60)) + +# Run Devel::Cover tool to post process coverage data +cover