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:
A | server/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