X-Git-Url: http://jaekl.net/gitweb/?p=cfb.git;a=blobdiff_plain;f=cov.sh;fp=cov.sh;h=0948141a745b5e199d18e6cac98cba85d4b25c39;hp=0000000000000000000000000000000000000000;hb=5bc9bbe3fd54b9fc7aa3b92d2d37e95c41b9645a;hpb=a938b67bf3d3bd86f8dd7b1f958e81007bf6f2fe diff --git a/cov.sh b/cov.sh new file mode 100755 index 0000000..0948141 --- /dev/null +++ b/cov.sh @@ -0,0 +1,51 @@ +#!/bin/bash +CFB_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +INSTR_DIR="${CFB_ROOT}/../instr" + +##################### +echo Compiling... +find "${CFB_ROOT}/prod" -name "*.java" | xargs javac -g -Xlint:deprecation +find "${CFB_ROOT}/test" -name "*.java" | xargs javac -g -classpath ${CFB_ROOT}/prod:${CLASSPATH} -Xlint:deprecation + +##################### +echo Cleaning old coverage files... +for x in "${INSTR_DIR}" report +do + if [ -d "${x}" ]; then + rm -rf "${x}" + fi + mkdir -p "${x}" +done +for x in result.xml template.xml +do + if [ -w ${x} ]; then + rm ${x} + fi +done + +##################### +echo Instrumenting... +java -classpath "${CLASSPATH}" -jar `pwd`/jcov/jcov.jar Instr -t template.xml -o "${INSTR_DIR}" -type all "${CFB_ROOT}/prod" + +##################### +echo Running unit tests... + +TESTS="" +for x in `cd ${CFB_ROOT}/test; find . -name '*Test.class'` +do + #echo CANDIDATE $x + TEST_CLASS=`echo ${x} | sed s:\^./:: | cut -d . -f 1 | sed s:/:.:g` + #echo TEST_CLASS ${TEST_CLASS} + TESTS="${TEST_CLASS} ${TESTS}" +done + +echo First run: locale es_ES, timezone Europe/Madrid +java -Duser.language=es -Duser.country=ES -Duser.timezone=Europe/Madrid -Djcov.template=${CFB_ROOT}/template.xml -Djcov.file=${CFB_ROOT}/result.xml -classpath "${INSTR_DIR}:${CFB_ROOT}/test:${CLASSPATH}:/usr/share/java/junit.jar:${CFB_ROOT}/jcov/jcov_file_saver.jar" org.junit.runner.JUnitCore ${TESTS} + +echo Second run: server default locale and timezone +java -Djcov.template=${CFB_ROOT}/template.xml -Djcov.file=${CFB_ROOT}/result.xml -classpath "${INSTR_DIR}:${CFB_ROOT}/test:${CLASSPATH}:/usr/share/java/junit.jar:${CFB_ROOT}/jcov/jcov_file_saver.jar" org.junit.runner.JUnitCore ${TESTS} + +##################### +echo Generating HTML Report... + +java -jar "${CFB_ROOT}/jcov/jcov.jar" RepGen -sourcepath "${CFB_ROOT}/prod" -log.level FINE result.xml